Apache Kafka es un sistema de mensajería de publicación y suscripción. Un sistema de mensajería le permite enviar mensajes entre procesos, aplicaciones y servidores. En términos generales, Apache Kafka es un software donde los temas (un tema puede ser una categoría) se pueden definir y procesar. Las aplicaciones pueden conectarse a este sistema y transferir un mensaje al tema. Un mensaje puede incluir cualquier tipo de información, de cualquier evento en su blog personal o puede ser un mensaje de texto muy simple que desenstringría cualquier otro evento.
Corredor Kafka
Un clúster de Kafka generalmente consta de uno o más servidores (llamados agentes de Kafka), que ejecutan Kafka sobre ellos. Los productores son procesos que publican datos (mensajes de inserción sobre desenstringdores) en temas de Kafka dentro del intermediario especificado. Un consumidor de temas extrae mensajes de un tema de Kafka.
Tema de Kafka: un tema es básicamente una categoría o un nombre de fuente en el que se almacenan y publican mensajes durante las operaciones. Los mensajes son en su mayoría arrays de bytes que pueden almacenar cualquier objeto en cualquier formato. Sí, eso es lo mejor de kafka. Cualquier objeto se puede almacenar como array de bytes. Además, como comentamos antes, todos los mensajes de Kafka están organizados en temas. Si desea enviar un mensaje, lo envía a un tema específico y si desea leer un mensaje, lo lee de un tema específico.
Consumidores y grupos de consumidores: los consumidores siempre pueden leer mensajes a partir de un desplazamiento específico y se les permite leer desde cualquier punto de desplazamiento que elijan en el medio. Esto permite a los consumidores unirse al clúster en cualquier momento. Esto hace que el funcionamiento y el trabajo sean realmente fluidos.
Las particiones le permiten paralelizar un tema al dividir los datos en un tema en particular entre múltiples corredores.
Apache Kafka y conceptos importantes del servidor
- Partición de temas: los temas de Kafka se dividen en una serie de particiones, lo que le permite dividir los datos entre varios intermediarios.
- Grupo de consumidores : un grupo de consumidores incluye el conjunto de procesos de consumidores que se suscriben a un tema específico.
- Node : un Node es una sola computadora en el clúster de Apache Kafka.
- Réplicas: una réplica de una partición es una «copia de seguridad» de una partición. Las réplicas nunca leen ni escriben datos. Se utilizan para evitar la pérdida de datos.
- Productor : Aplicación que envía los mensajes.
- Consumer : Aplicación que recibe los mensajes.
Aplicaciones en tiempo real
- Twitter : los usuarios registrados pueden leer y publicar tweets, pero los usuarios no registrados solo pueden leer tweets. Twitter usa Storm-Kafka como parte de su infraestructura de procesamiento de transmisiones.
- LinkedIn : Apache Kafka se usa en LinkedIn para datos de flujo de actividad y métricas operativas. El sistema de mensajería Kafka ayuda a LinkedIn con varios productos como LinkedIn Newsfeed, LinkedIn Today para el consumo de mensajes en línea y además de sistemas de análisis fuera de línea como Hadoop.
- Netflix : Netflix es un proveedor multinacional estadounidense de medios de transmisión por Internet a pedido. Netflix usa Kafka para el monitoreo en tiempo real y el procesamiento de eventos.
- Box : en Box, Kafka se utiliza para la canalización de análisis de producción y la infraestructura de monitoreo en tiempo real.
Referencias :
Este artículo es una contribución de Ayush Verma . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA