728x90
반응형

프로듀서 2

[Kafka - 03] 프로듀서의 내부 동작 원리와 구현, 중복 없는 전송

프로듀서가 전송하려는 메시지들은 프로듀서의 send() 메소드를 통해 시리얼라이저, 파티셔너를 거쳐 카프카로 전송된다. 먼저 파티셔너가 무엇인지 알아본다. 1. 파티셔너 카프카의 토픽은 성능 향상을 위한 병렬 처리가 가능하도록 하기 위해 파티션으로 나뉘고, 최소 하나 또는 둘 이상의 파티션으로 구성된다. 그리고 프로듀서가 카프카로 전송할 메시지는 해당 토픽 내 각 파티션의 로그 세그먼트에 저장된다. 따라서 프로듀서는 토픽으로 메시지를 보낼 때 해당 토픽의 어느 파티션으로 메시지를 보내야 할지를 결정해야 하는데, 이때 사용하는 것이 바로 파티셔너이다. 프로듀서가 파티션을 결정하는 알고리즘은 기본적으로 메시지(레코드)의 키를 해시 처리해 파티션을 구하는 방식이다. 예상치 못한 많은 양의 메시지가 카프카로 인..

CS/Apache Kafka 2023.08.31

[Kafka - 01] 카프카 기본 개념과 구조

※ 카프카를 구성하는 주요 요소 주키퍼(Zookeeper) : 아파치 프로젝트 애플리케이션 이름이다. 카프카의 메타데이터(metadata) 관리 및 브로커의 정상상태 점검(health check)를 담당한다. 카프카(Kafka) 또는 카프카 클러스터(Kafka cluster) : 아파치 프로젝트 애플리케이션 이름이다. 여러 대의 브로커를 구성한 클러스터를 의미한다. 브로커(broker) : 카프카 애플리케이션이 설치된 서버 또는 노드를 말한다. 프로듀서(producer) : 카프카로 메시지를 보내는 역할을 하는 노드를 말하낟. 컨슈머(consumer) : 카프카에서 메시지를 꺼내가는 역할을 하는 클라이언트를 총칭하낟. 토픽(topic) : 카프카는 메시지 피드들을 토픽으로 구분하고, 각 토픽의 이름은 카..

CS/Apache Kafka 2023.08.23
728x90
반응형