¿Cuáles son los principales componentes de Apache Kafka?
Apache Kafka es un sistema distribuido formado por varios componentes. Los principales componentes de Apache Kafka son:
- Temas: Un tema es una categoría o nombre de fuente al que los productores pueden enviar mensajes y que los consumidores pueden leer. Es sólo apéndice e inmutable. Los consumidores pueden utilizar un desplazamiento para rastrear los mensajes leídos.
- Intermediarios: Un clúster Kafka se compone de uno o varios brokers que gestionan el almacenamiento de mensajes en temas y sirven de intermediarios entre productores y consumidores.
- Productores: Aplicaciones que producen datos y los publican en uno o varios temas de un cluster Kafka. Controlan cómo se asignan los eventos a las particiones dentro de un tema.
- Consumidores: Aplicaciones que se suscriben a uno o más temas y consumen los mensajes publicados. Los únicos metadatos que se conservan por consumidor son el desplazamiento o posición de ese consumidor en un tema. Este desplazamiento lo controla el consumidor.
- Particiones: Kafka utiliza particiones para dividir los mensajes de un tema entre varios intermediarios para mejorar la escalabilidad y el rendimiento. Los eventos con la misma clave de evento, como el mismo identificador de cliente o de vehículo, se escriben en la misma partición, y Kafka garantiza que cualquier consumidor de una partición de tema determinada leerá siempre los eventos de esa partición exactamente en el mismo orden en que fueron escritos.
- Replicación: Varios intermediarios tienen siempre una copia de los datos para garantizar una alta disponibilidad y tolerancia a fallos. Esta replicación se realiza a nivel de partición temática.