Apache Kafka - Arquitectura de clúster
Eche un vistazo a la siguiente ilustración. Muestra el diagrama de conglomerados de Kafka.
La siguiente tabla describe cada uno de los componentes que se muestran en el diagrama anterior.
S. No | Componentes y descripción |
---|---|
1 | Broker El clúster de Kafka generalmente consta de varios agentes para mantener el equilibrio de carga. Los corredores de Kafka no tienen estado, por lo que utilizan ZooKeeper para mantener su estado de clúster. Una instancia de agente de Kafka puede manejar cientos de miles de lecturas y escrituras por segundo y cada agente puede manejar TB de mensajes sin afectar el rendimiento. ZooKeeper puede elegir al líder del corredor de Kafka. |
2 | ZooKeeper ZooKeeper se utiliza para gestionar y coordinar el corredor de Kafka. El servicio ZooKeeper se utiliza principalmente para notificar al productor y al consumidor sobre la presencia de cualquier corredor nuevo en el sistema Kafka o la falla del corredor en el sistema Kafka. Según la notificación recibida por el guardián del zoológico con respecto a la presencia o falla del corredor, el productor y el consumidor toman una decisión y comienzan a coordinar su tarea con algún otro corredor. |
3 | Producers Los productores envían datos a los corredores. Cuando se inicia el nuevo corredor, todos los productores lo buscan y automáticamente envía un mensaje a ese nuevo corredor. El productor de Kafka no espera los reconocimientos del corredor y envía mensajes tan rápido como el corredor puede manejar. |
4 | Consumers Dado que los corredores de Kafka no tienen estado, lo que significa que el consumidor debe mantener la cantidad de mensajes que se han consumido mediante el desplazamiento de partición. Si el consumidor reconoce un desplazamiento de mensaje particular, implica que el consumidor ha consumido todos los mensajes anteriores. El consumidor emite una solicitud de extracción asincrónica al intermediario para tener un búfer de bytes listo para consumir. Los consumidores pueden rebobinar o saltar a cualquier punto de una partición simplemente proporcionando un valor de compensación. ZooKeeper notifica el valor de compensación del consumidor. |