Zookeeper
Zookeeper는 Broker들을 관리하는 역할을 한다
- Broker 등록 / 상태 관리
- 브로커의 상태를 감시
- Controller 선출
- 파티션 리더 선출 및 정보 관리
- 클러스터 메타데이터 관리
주키퍼는 카프카에 종속되지 않은 별개의 시스템으로 브로커 관리를 위해 존재한다
Kafka 2.8 부터 이에 대한 의존성을 제거하고자 KRaft를 통해 이를 대처하려고 하고 있다
Broker
Broker는 메시지 저장 및 메시지 제공 등의 역할 수행하며 Producer/Consumer와 직접 통신하는 주체이다
- 데이터 저장소
- 메시지 수신 / 전달
- 파티션 및 레플리카 관리
- 파티션 리더 역할 수행
- Controller 역할 수행
Kafka의 Broker들의 모음을 Kafka Cluster라고 한다
Zookeeper는 Kafka Cluster 내 Controller를 선출하는 역할, Broker들을 관리하는 역할을 하며 Broker들의 상태를 감시하고 브로커의 상태를 Controller에게 전달하여 Controller가 Failover를 할 수 있도록 한다
'공부 > Kafka' 카테고리의 다른 글
[Kafka] Kafka의 특징 (0) | 2021.06.13 |
---|---|
[Kafka: 카프카] Kafka란? (0) | 2021.06.07 |