본문 바로가기

Kafka3

[Apache Kafka] Kafka Group Consumer Rebalance Kafka Consumer Rebalance는 Kafka Consumer 그룹내에서 파티션 할당이 변경되는 과정이다. Kafka Broker의 Group Coordinator는 아래와 같은 경우 Consumer Group내의 Consumer 들에게 파티션을 재할당하는 Rebalancing을 하도록 요청한다.Consumer Group 내에 새로운 Consumer가 추가되는 경우기존 Consumer가 종료 될 때Topic에 새로운 Partition이 추가 될 때Kafka Partition Rebalance 시 Consumer Group의 안정성과 중단 시간을 줄이기 위한 방법으로 Eager Protocol과 Cooperative Protocol 방식이 있다.Rebalance 작업 방식Eager Protoco.. 2024. 12. 28.
[Apahce Kafka] Kafka Consumer Kafka Consumer는 메시지를 구독하고 처리하는 역할을 담당하는 클라이언트이다.1. Consumer GroupConsumer는 단 하나의 Consumer Group에 소속되며, Consumer Group은 고유한 그룹아이디를 가지고 1개 이상의 Consumer를 가질 수 있다.토픽 메시지는 Consumer Group에서 단 하나의 Consumer 에만 할당된다.2. Kafka Consumer Subscribe, Poll, Commit 과정1. 토픽 구독 (Subscribe)Consumer는 subscribe를 호출하여 읽을 토픽을 등록한다.2. 토픽 메시지 소비 (poll)Consumer는 poll 메소드를 이용하여 주기적으로 브로커의 토픽 파티션에서 메시지를 가져온다.Fetcher는 Consum.. 2024. 12. 28.
[Apache Kafka] Kafka Producer Kafka Producer는 메시지를 생성하고 Kafka 토픽에 전송하는 역할을 담당하는 클라이언트이다.1. Kafka Producer의 주요 기능1. 메시지 전송 Producer는 메시지를 생성한 후 Kafka 토픽으로 전송메시지는 특정 토픽의 하나 이상의 파티션으로 저장2. 파티셔닝 (Partitioning)Producer는 메시지가 어느 파티션에 저장될지 결정Key 값을 가지는 경우 키를 기준으로 파티션을 선택Key 값을 가지지 않는 경우 라운드 로빈 또는 스티키 방식으로 파티션을 선택3. 메시지 직렬화메시지를 전송하기 전에 데이터를 바이트 배열로 직렬화메시지의 키와 값을 각각 지정된 Serializer를 사용해 직렬화4. ACK (Acknowledgment)Producer는 메시지가 성공적으로 브.. 2024. 12. 26.