
Broker
- Kafka 브로커는 Kafka 시스템을 구성하는 개별 서버다.
이 브로커들은 Kafka 클러스터를 형성하여, 전체 시스템의 일부로 작동한다.
데이터 저장 및 관리
- 각 브로커는 Kafka 토픽의 하나 이상의 파티션을 저장하고 관리한다.
이 파티션들에는 메시지 또는 레코드가 순차적으로 저장된다.
클라이언트 요청 처리
- 브로커는 Kafka Producer 로부터 데이터를 받아 저장하고, 소비자의 요청에 따라 저장된 데이터를 제공한다.
고가용성 및 확장성
- Kafka 는 데이터의 안정성을 위해 파티션을 여러 브로커에 복제한다.
이를 통해 하나의 브로커에 장애가 발생돼도 시스템은 계속 작동할 수 있다.
그리고 필요 시 클러스터에 새로운 브로커를 추가하여 시스템의 처리 능력과 저장 용량을 확장할 수 있다.
리더와 팔로워
- 각 파티션에는 '리더'와 '팔로워' 브로커가 있다.
리더 브로커는 모든 읽기와 쓰기 작업을 처리하고, 팔로워 브로커는 리더의 데이터를 복제한다.
이러한 구조는 데이터의 일관성을 유지하고, 부하를 분산시키는데 도움을 준다.
통신 및 조정
- 브로커들은 클러스터 내에서 서로 통신하여 데이터의 동기화와 상태 정보를 공유한다.
이를 통해 클러스터 전체가 일관된 상태를 유지하고, 효율적으로 작동할 수 있다.
요약
- Kafka 브로커는 Kafka 시스템의 중추적인 역할을 하며, 데이터의 저장과 처리 및 전송을 담당한다.
- 브로커들의 상호작용과 조정을 통해 Kafka 는 대용량의 데이터를 효율적이고 안정적으로 관리할 수 있다.