사용용도
Event/Message전송
장점
고가용성, 빠른처리
단점
순서보장 어려움.
Kafka와 Zookeeper 역할
Zookeeper : 클러스터의 모든 메타정보(Controller 정보, 선출 Broker 정보 등)
Broker : 실제 데이터를 받아 저장
Controller : Broker의 마스터 => topic, partition 생성, 복제본 관리
참고 서비스
CMAK : KAFKA Cluster를 관리하는 GUI 툴
Kafka Object
Topic
폴더, 특정 목적으로 생성된 data
Partition
폴더의 하위개념으로 분산을 위해 나누어 처리
Replica
Leader의 장애를 대응하기 위해 만든 복사본
Producer
data를 Publishing하는 주체
Consumer
data를 Subscribe하는 주체
비슷한 서비스 RabbitMQ와의 차이

RabbitMQ
RabbitMQ도 메시지 브로킹 시스템
Kafka는 Pull 형태로 Consumer가 어떻게 가져갈지가 중요함.
RadditMQ는 Push 형태로 Producer가 어떻게 전달하는지가 중요함.
즉, Kafka는 보내는건 아무렇게나, 받는 사람은 제약을 정해서.
RadditMQ는 연결을 가지고 보내는 사람이 누구에게 어떻게 보낼지 정함.
Kafka => 1m msg per sec
RadditMQ => 10k msg per sec (+logic)
RadditMQ는 넣는 로직(Push)을 변경하는 것이 쉽게 가능
Kafka는 더 큰 양을 안정적으로 처리 가능.