728x90 개발공부 개발새발127 Kafka ) 변신의 카프카가 아니라 Apache Kafka 에 관하여 Kafka링크드인에서 개발한 오픈소스 프로젝트. 데이터 운송 매커니즘. 데이터 흐름에 몸을 맡겨보자.메시징.활동 추적.다양한 위치에서 메트릭 수집.애플리케이션 로그 수집.최근에는 스트림 처리.마이크로 서비스 발행/구독…사용법소스 시스템과 타겟 시스템 사이에 카프카를 둔다.이름예시소스 시스템웹사이트 이벤트, 가격 데이터 등 사용자 상호 작용 → 데이터 스트림 생성타깃 시스템데이터베이스, 분석 시스템, 이메일 시스템, 감사 시스템소스 시스템은 카프카에 데이터를 전송한다.타깃 시스템이 데이터를 받아야할 경우 Apache Kafka 로부터 받는다.예시넷플릭스를 보는 동안 Kafka 를 사용해 실시간 추천 사항 적용.Uber 에서 사용자,택시 여행 데이터를 실시간으로 수집하고 수요 계산, 예측. 실시간 요금 계산.. 2024. 6. 13. Network ) ARP, GARP , 게이트웨이.. ARPIP주소를 통해 상대방의 MAC 주소를 알아내기 위해 사용하는 프로토콜.TCP/IP 뿐만아니라 3계층 논리 주소와 2계층 물리 주소 사이에 관계가 없는 프로토콜에서는 ARP 와 같은 매커니즘으로 물리-논리 주소를 연결한다.주의패킷을 보낼 때마다 ARP 브로드캐스트를 수행하면 네트워크 통신 효율이 크게 저하되어 메모리에 정보 저장해두고 재사용한다.일정 시간 통신이 없으면 삭제됨.네트워크 장비에서는 ARP 가 CPU 에서 직접 수행하므로 짧은 시간에 많은 ARP 요청이 들어오면 큰 부하로 작용한다.그래서 ARP 테이블 저장 기간을 일반 PC 보다 길게 설정하고 많은 ARP 요청이 들어오면 필터링하거나 천천히 처리할 수 있다.일부 장비는 ARP 테이블을 수동으로만 갱신하도록 설정해 운영하기도 한다.동작A.. 2024. 5. 30. Network ) TCP / UDP TCP 와 UDP4계층 프로토콜, 여러 애플리케이션 프로세스 중 통신해야 할 목적지 프로세스를 정확히 찾아가고 패킷 순서가 바뀌지 않도록 잘 조합해 원래 데이터를 잘 만들어내기 위한 역할을 한다.4계층 프로토콜의 목적(목적지 주소가 아니라)애플리케이션에서 사용하는 프로세스를 정확히 찾아가고 데이터를 분할한 패킷을 잘 쪼개 보내고 잘 조립하기.4계층 프로토콜(TCP, UDP)과 서비스 포트인캡슐레이션, 디캡슐레이션 과정에서 가장 중요한 두 가지 정보는?각 계층에서 정의하는 정보수신 측 동일 계층에서 사용하기 위한 정보4계층에서는 ACK 번호 시퀀스 번호상위 프로토콜 지시자 정보상위 계층의 프로토콜이나 프로세스를 정확히 찾아가기 위한 정보4계층에서는 포트 번호출발지와 목적지를 구분해 처리해야 함.💡 HTT.. 2024. 5. 30. Network ) 통신 방식 , MAC 주소, IP 주소 (서브네팅) 통신 방식유니캐스트출발지와 목적지가 명확히 하나로 정해져있는 1:1 통신 방식대부분의 통신이 유니캐스트브로드캐스트로컬 네트워크 내의 모든 호스트에 패킷을 전달해야 할 때 사용. 목적지 주소가 모든 주소유니캐스트로 통신하기 전, 상대방의 정확한 위치를 알기 위해 주로 사용.멀티캐스트멀티캐스트 그룹 주소를 이용해 해당 그룹에 속한 다수의 호스트로 패킷 전송.사내 방송 또는 증권 시세 전송처럼 단방향으로 다수에게 동시에 같은 내용을 전달해야 할 때 사용. 💡 IPv6 기반 주소 체계에는 브로드캐스트 대신 링크 로컬 멀티캐스트로 대체하여 사용한다. 애니캐스트애니캐스트 주소가 같은 호스트들 중, 가장 가깝거나 가장 효율적으로 서비스할 수 있는 호스트와 통신하는 방식.가장 가까운 DNS 서버를 찾을 때 또는 가장.. 2024. 5. 30. CI/CD ) Ansible 로 배포 자동화하기 ! Ansible 을 사용해서 컨테이너 만들기젠킨스가 github 에서 코드를 갖고 온다.아티팩트를 만들어서 Ansable Server 에 복사한다.Ansible 이 docker 로 이미지를 만들어 docker hub 에 푸쉬한다.배포할 때는 docker 가 dockerhub 에서 이미지를 당겨와서 사용한다.docker host 를 ansible 로 관리한다.Ansible 서버 준비하기EC2 인스턴스 생성 후 hostname 변경sudo su -vi /etc/hostname---# 호스트 이름 변경 후---# 시스템 재시작init 6ansible 용 유저 추가sudo su -# user 추가useradd ansadminpasswd ansadmin---# 패스워드 추가 작업---# visudo 에서 권한 변경.. 2024. 5. 14. CI/CD ) Docker 와 함께 자동 배포하기 목표 : Docker 컨테이너에서 코드 배포하기이전까지와 하는 일은 동일하나, 이제는 Jenkins 가 Tomcat 대신 docker 컨테이너로 배포한다.도커용 EC2 인스턴스 생성 후 docker 설치# 도커 설치yum install docker# 도커 상태 확인service docker status# 도커 시작service docker startTomcat 컨테이너 생성 - with pull Imagedocker pull tomcatdocker images# 컨테이너 내부 포트 8080# 외부 (로컬) 에서는 8081 포트로 연결docker run -d --name tomcat-container -p 8081:8080 tomcat# 지금 접속하면 에러가 뜬다.# 컨테이너 속으로 접속docker exe.. 2024. 5. 13. 이전 1 ··· 3 4 5 6 7 8 9 ··· 22 다음 728x90