DevOps4 [카프카 프로그래밍] 카프카 생태계와 브로커, 주키퍼 카프카 생태계카프카 프로듀서가 기본적으로 데이터를 넣고, 컨슈머가 데이터를 가져간다.stateful/stateless하게 다시 토픽을 처리해서 넣고 싶을 때는 스트림즈.데이터베이스에서 가져와서 토픽에 데이터를 넣는 역할은 커넥트(소스) 다시 가져가는 애가 커넥트(싱크).그럼 그냥 프로듀서, 컨슈머랑 같은거 아니야? 🙅 프로듀서 컨슈머와의 차이는 템플릿으로 반복적으로 만들 수 있다는 거다. (rest api)프로듀서, 커넥트, 컨슈머, 스트림즈는 모두 java library로 제공되며, go나 js는 써드 파티라 모든 기능이 제공된다고 볼 수 없다는 점 유의.브로커는 뭐해?브로커0, 1, 2에 모두 데이터를 저장해서 브로커0이 죽더라도 컨슈머가 브로커1, 브로커2에서 가져갈 수 있게 분산 저장해.주키퍼는.. DevOps/Kafka 2024. 6. 22. [카프카 프로그래밍] 아파치 카프카가 데이터 파이프라인으로 적합한 4가지 이유 높은 처리량 (처리량 더 늘리려면 컨슈머를 늘린다. 이러려면 물론 파티션(브로커)을 동일한 개수만큼 더 늘려야.)확장성 (하루에 처리량이 예상치 못하게 가변적일 때 브로커 개수를 스케일 인, 아웃하여 유동적으로 운영 가능.)영속성 (데이터를 생성한 프로그램이 종료되더라도 사라지지 않는다는 특징. 다른 메시징 플랫폼과 다르게 메모리가 아닌 파일 시스템에 저장하기 때문. 빠른 이유는 한 번 읽은 내용을 메모리에 저장했다가 다시 사용하는 방식이라 처리량이 높은 것. 따라서 급작스럽게 종료돼도 재시작하여 처리하면 됨.)고가용성 (한 브로커에 장애가 발생하더라도 복제된 데이터가 나머지 브로커에 저장되어 있어 지속적 데이터 처리 가능) DevOps/Kafka 2024. 6. 16. [카프카 프로그래밍] 아파치 카프카의 탄생과 기본 구조 Kafka의 탄생 배경why? 링크드인에서 소스 어플리케이션과 타깃 어플리케이션 개수가 점점 많아지면서 데이터 전송 라인이 복잡해지는 문제를 해결하기 위해과거 구성도여러 방법을 시도해 보았으나 더 복잡해짐현재 구성도 (카프카)Unified Log라는 중앙 로그를 두어 중앙 집중화 하여 개발자 입장에서도 이전에는 데이터 스토어 백엔드 관리와 백엔드에 따른 포맷, 별도의 앱 개발을 히야 했는데 이젠 카프카에만 데이터를 전달하면 나머지는 필요한 곳 또는 다른 서비스들이 각자 가져갈 수 있어서 자신들 본연의 업무에만 집중할 수 있게 되었다.메시지 큐 구조를 살린 카프카 내부 구조프로듀서가 보낸 데이터 (메시지, 토픽) 는 특정 하나의 파티션에 적재되고, 차례대로 컨슈머는 파티션에서 가져간다 (FIFO)전체적으로.. DevOps/Kafka 2024. 6. 16. [IaC/ansible 기초] ansible의 기본 개념 ansible 구조control node ( = ansible management node ): ansible이 실행되는 노드 (노트북, 서버) / playbook, inventory 파일 등 포함managed node ( = host ): ansible로 관리하는 서버⏏ inventory 파일 정보로 host 정보 가져오고, playbook 파일 정보로 'web' 띄운다.⏏ playbook 하위에서 각 개별 task들이 실행되고, 이 task는 module이라는 코드 형태로 관리된다. 이 module로 host에 실행하는 것.inventory: managed node의 리스트module: ansible이 실행하는 코드 단위task: ansible 작업 단위, module의 모음playbook: vari.. DevOps/👾IaC 2024. 4. 28. 이전 1 다음