Tabla de contenido:
Definición - ¿Qué significa Apache Kafka?
Apache Kafka es un sistema de mensajes de publicación y suscripción de código abierto diseñado para proporcionar un manejo rápido, escalable y tolerante a fallas de los datos en tiempo real. A diferencia del software de mensajería empresarial tradicional, Kafka puede manejar todos los datos que fluyen a través de una empresa y hacerlo en tiempo casi real.
Kafka está escrito en Scala y fue desarrollado originalmente por LinkedIn. Desde entonces, varias compañías lo han usado para construir plataformas en tiempo real.
Techopedia explica Apache Kafka
Kafka tiene muchas similitudes con los registros de transacciones, y mantiene canales de mensajes en temas. Los productores escriben datos en los temas y los consumidores leen esos temas, que se dividen y replican en varios nodos en un formato de sistema distribuido. Kafka es único en el sentido de que trata cada partición de tema como un registro, y cada mensaje en una partición tiene asignado un desplazamiento único. Conserva todos los mensajes durante un cierto período de tiempo, y los consumidores son responsables de rastrear su ubicación en cada registro. Esto difiere de los sistemas anteriores, donde los corredores eran responsables de este seguimiento, lo que limitaba severamente la capacidad del sistema para escalar a medida que aumentaba el número de consumidores. Esta estructura permite a Kafka dar soporte a muchos consumidores y retener grandes cantidades de datos con una sobrecarga muy baja.
Kafka se puede usar:
- Como un agente de mensajes tradicional
- Para el seguimiento de la actividad del sitio web
- Para la agregación de registros
- Para el procesamiento de grandes flujos de datos
Kafka se puede usar junto con Apache Storm, Apache HBase y Apache Spark para el análisis en tiempo real y la representación de datos de transmisión.
