본문 바로가기
kafka/core

Consumer의 주요 메커니즘 개요

by 개복이 2025. 5. 13.

Consumer의 주요 메커니즘 개요

Kafka Consumer 개요

  • 브로커의 Topic 메시지를 읽는 역할을 수행한다.
  • 모든 Consumer들은 고유한 그룹아이디 (group.id)를 가지는 Consumer Group에 소속되어야 한다.
  • 개별 Consumer Group 내에서 여러 개의 Consumer들은 토픽 파티션 별로 분배된다.

 

Consumer의 subscribe, poll, commit 로직

  • Consumer는 subscribe()를 호출하여 읽어 들이려는 토픽을 등록
  • Consumer는 poll() 메서드를 이용하여 주기적으로 브로커의 토픽 파티션에서 메시지를 가져온다.
  • 메시지를 성공적으로 가져왔으면 commit을 통해서 __consumer_offsets에 다음에 읽을 offset 위치를 기재한다.

 

Kafka Consumer의 주요 수행 개요

  • Kafka Consumer는 Fetcher, ConsumerClientNetwork 등의 주요 내부 객체와 별도의 Heart Beat Thread를 생성한다.
  • Fetch, ConsumerClientNetwork 객체는 브로커의 토픽 파티션에서 메시지를 Fetch 및 Poll 수행
  • Heart Beat Thread는 Consumer의 정상적인 활동을 Group Coordinator에 보고하는 역할을 수행한다. (Group Coordinator는 주어진 시간동안 Heart Beat을 받지 못하면 Consumer들의 Rebalance를 수행 명령한다)

댓글