본문 바로가기
개발/kafka

[kafka] 소비자 그룹 (Consumer Group)

by ttoance 2025. 1. 5.
반응형

Apache Kafka에서 소비자 그룹(Consumer Group)이란?

소비자 그룹은 Kafka 소비자들이 함께 작업하여 토픽의 이벤트를 병렬 처리할 수 있도록 해줍니다.
소비자 그룹 내의 소비자들은 토픽 또는 토픽 세트의 파티션을 나누어 할당받아 이벤트 처리를 병렬화할 수 있습니다.

  • 소비자는 자신을 소비자 그룹 이름으로 식별합니다
    토픽에 게시된 각 메시지는 구독 중인 각 소비자 그룹의 소비자 인스턴스 중 하나에 전달됩니다.
    소비자 인스턴스는 서로 다른 프로세스에서 실행되거나 다른 머신에 분산될 수 있습니다.
  • 모든 소비자 인스턴스가 동일한 소비자 그룹에 속할 경우
    이는 전통적인 큐(queue)처럼 동작하며, 소비자들 간에 부하를 균등하게 분산합니다.
  • 모든 소비자 인스턴스가 서로 다른 소비자 그룹에 속할 경우
    이는 발행-구독 모델(publish-subscribe)처럼 동작하며, 모든 메시지가 모든 소비자들에게 전달됩니다.

 

 

 

 

소비자 그룹에서 소비자가 추가되거나 제거되면 어떻게 되나요?

소비자가 추가되거나 제거될 경우(예: 워크로드 요구사항 변경, 기계 교체, 소비자 장애 등), Kafka 브로커는 해당 그룹의 토픽-파티션을 새로운 구성원 또는 남아 있는 활성 구성원들에게 재분배합니다.

 

  •  

 

 

https://developer.confluent.io/learn-more/kafka-on-the-go/consumer-groups/?

 

Kafka Consumer Groups Explained | Apache Kafka On The Go

A Kafka consumer group is a set of consumers that supports parallel processing of records from a topic. Learn more about events, topics, partitions, and event processing.

developer.confluent.io

 

https://kafka.apache.org/08/documentation.html

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

 

https://brunch.co.kr/@peter5236/2

 

카프카 Consumer Group

지난 글에 이어서 이번에는 Consumer Group이라는 주제를 가지고 설명하려고 합니다. 이 내용 역시 제가 처음 카프카를 접했을 때, 정말 이해가 안 되고 어려웠던 부분이었습니다. 컨슈머 그룹에 대

brunch.co.kr

 

반응형