| Before Kafka | After Kafka |
|---|---|
| 엔드투엔드 연결 방식의 아키텍쳐 | 프로듀서/컨슈머 분리 |
| 데이터 연동의 복잡성 증가 | 메시지 데이터를 여러 컨슈머에게 허용 |
| 각기 다른 데이터 파이프라인 연결구조 | 높은 처리량을 위한 메시지 최적화 |
| 확장에 엄청난 노력 필요 | 스케일 아웃 가능 |
broker

Record
Topic & Partition
Producer & Consumer
컨슈머는 파티션 개수보다 적거나 같게 만들어야 함! (파티션 개수 ≥ 컨슈머 개수)
리밸런스
2개 이상의 컨슈머 그룹이 있는 경우
replication
kafka rack-awareness
핵심요소
broker : 카프카 애플리케이션 서버 단위
topic : 데이터 분리 단위, 다수 파티션 보유
partition : 레코드를 담고 있음, 컨슈머 요청시 레코드 전달
offset : 각 레코드당 파티션에 할당된 고유 번호
consumer : 레코드를 polling하는 애플리케이션
producer : 레코드를 브로커로 전송하는 애플리케이션
Replication : 파티션 복제 기능
Rack-awareness : server rack이슈에 대응