Kafka의 아키텍처는 partition으로 나뉘고 복제된 topic을 저장하는 broker 클러스터로 구성되며, producer가 쓰고 consumer가 읽고, 메타데이터 관리(과거에는 ZooKeeper, 현재는 KRaft)로 조정됩니다. 아키텍처를 이해하면 Kafka가 분산 시스템으로 어떻게 작동하는지 명확해집니다.
구성 요소
BROKER → CLUSTER를 이루는 Kafka SERVER:
→ topic partition(데이터)을 저장; producer와 consumer 서빙
→ 여러 broker로 이루어진 클러스터 → 데이터와 부하 분산; 수평 확장
TOPIC / PARTITION → topic이 partition으로 분할되어 broker들에 분산
PRODUCER → topic(partition leader)에 이벤트 쓰기
CONSUMER(group 내) → partition에서 이벤트 읽기
COORDINATION → 메타데이터, 클러스터 상태, leader election:
→ 과거에는 ZOOKEEPER; 현재는 KRAFT(Kafka 자체 내장 합의, ZooKeeper 제거)
