브로커 < 클러스터
브로커 : 메시지 저장, 전달. 이벤트 버스 역할
클러스터: Kafka에서는 여러 개의 브로커를 지칭함.
클러스터를 구성하는 이유:
토픽: 데이터 종류를 구별하기 위함.
파티션: 토픽에 드렁오는 데이터를 여러 단위로 나눈 것. 병목 현상에 대응.
오프셋: 파티션 내 각 데이터가 각지는 고유 번호. 0, 1, 2, ...
세그먼트: 파티션(파일)을 작은 단위로 나눠 저장한 것. 검색에 용이, 장애 - Replication
Zookeeper: 오케스트라로서의 역할 수행. 전체적인 관리.
삭제가 불가능, 빠른 성능, 파티션>세그먼트.
활성 세트먼트: 현재/실시간 데이터 저장됨. 나머지 일반 세그먼트들에는 과거의 정보가 저장돼 있음. 활성 세그먼트 용량이 가득 차게 되면 새로운 활성 세그먼트가 생성됨.
세그먼트 파일명은 시장 오프셋 번호임.
한 쌍의 파일들로 구성됨. .log .index .timeindex
컨트롤러 브로커: 리더 브로커를 선출하고, 전파하는 기능을 수행함.