반응형
Apache Kafka에서 소비자 그룹(Consumer Group)이란?
소비자 그룹은 Kafka 소비자들이 함께 작업하여 토픽의 이벤트를 병렬 처리할 수 있도록 해줍니다.
소비자 그룹 내의 소비자들은 토픽 또는 토픽 세트의 파티션을 나누어 할당받아 이벤트 처리를 병렬화할 수 있습니다.
- 소비자는 자신을 소비자 그룹 이름으로 식별합니다
토픽에 게시된 각 메시지는 구독 중인 각 소비자 그룹의 소비자 인스턴스 중 하나에 전달됩니다.
소비자 인스턴스는 서로 다른 프로세스에서 실행되거나 다른 머신에 분산될 수 있습니다. - 모든 소비자 인스턴스가 동일한 소비자 그룹에 속할 경우
이는 전통적인 큐(queue)처럼 동작하며, 소비자들 간에 부하를 균등하게 분산합니다. - 모든 소비자 인스턴스가 서로 다른 소비자 그룹에 속할 경우
이는 발행-구독 모델(publish-subscribe)처럼 동작하며, 모든 메시지가 모든 소비자들에게 전달됩니다.
소비자 그룹에서 소비자가 추가되거나 제거되면 어떻게 되나요?
소비자가 추가되거나 제거될 경우(예: 워크로드 요구사항 변경, 기계 교체, 소비자 장애 등), Kafka 브로커는 해당 그룹의 토픽-파티션을 새로운 구성원 또는 남아 있는 활성 구성원들에게 재분배합니다.
https://developer.confluent.io/learn-more/kafka-on-the-go/consumer-groups/?
https://kafka.apache.org/08/documentation.html
https://brunch.co.kr/@peter5236/2
반응형
'개발 > kafka' 카테고리의 다른 글
[kafka] log compaction | log tail | log head (1) | 2025.01.04 |
---|---|
[kafka] producer message key = 메시지 코디네이트(Message Coordinate) (1) | 2025.01.04 |
[kafka] Kafka Connect High-Level Overview + Cluster and Distributed Architecture (1) | 2025.01.03 |
[kafka] 토픽 생성 및 리스트 확인 + producer, consumer 메시지 전달 (mac m1) (0) | 2024.12.14 |
[kafka] kafka, zookeeper, server 시작하기 (mac m1) (0) | 2024.12.14 |