Apache Kafka-클러스터 아키텍처
다음 그림을 살펴보십시오. Kafka의 클러스터 다이어그램을 보여줍니다.
다음 표는 위 다이어그램에 표시된 각 구성 요소를 설명합니다.
S. 아니 | 구성 요소 및 설명 |
---|---|
1 |
Broker Kafka 클러스터는 일반적으로로드 균형을 유지하기 위해 여러 브로커로 구성됩니다. Kafka 브로커는 상태 비 저장이므로 클러스터 상태를 유지하기 위해 ZooKeeper를 사용합니다. 하나의 Kafka 브로커 인스턴스는 초당 수십만 개의 읽기 및 쓰기를 처리 할 수 있으며 각 브로커는 성능에 영향을주지 않고 TB 메시지를 처리 할 수 있습니다. Kafka 브로커 리더 선택은 ZooKeeper에서 수행 할 수 있습니다. |
2 |
ZooKeeper ZooKeeper는 Kafka 브로커를 관리하고 조정하는 데 사용됩니다. ZooKeeper 서비스는 주로 생산자와 소비자에게 Kafka 시스템에 새로운 브로커의 존재 또는 Kafka 시스템의 브로커 실패를 알리는 데 사용됩니다. 브로커의 존재 또는 실패와 관련하여 Zookeeper가받은 알림에 따라 생산자와 소비자는 결정을 내리고 다른 브로커와 작업 조정을 시작합니다. |
삼 |
Producers 생산자는 데이터를 브로커에게 푸시합니다. 새 브로커가 시작되면 모든 생산자가이를 검색하고 자동으로 해당 새 브로커에 메시지를 보냅니다. Kafka 생산자는 브로커의 승인을 기다리지 않고 브로커가 처리 할 수있는 한 빨리 메시지를 보냅니다. |
4 |
Consumers Kafka 브로커는 상태 비 저장이므로 소비자는 파티션 오프셋을 사용하여 소비 된 메시지 수를 유지해야합니다. 소비자가 특정 메시지 오프셋을 확인하면 소비자가 이전 메시지를 모두 사용했음을 의미합니다. 소비자는 사용할 준비가 된 바이트 버퍼를 갖도록 브로커에 비동기 풀 요청을 발행합니다. 소비자는 단순히 오프셋 값을 제공하여 파티션의 어느 지점 으로든 되감거나 건너 뛸 수 있습니다. 소비자 오프셋 값은 ZooKeeper에서 알립니다. |