Introducción
Apache Kafka es un distribuidor que proporciona la funcionalidad de un sistema de mensajería,
pero con un diseño único y como distribuido registro de confirmación, beneficios:
Rápido
Es un único corredor Kafka puede manejar cientos de megabytes de lecturas y escrituras por
segundo desde miles de clientes.
Escalable
El Kafka está diseñado para permitir que un solo grupo pueda servir como una columna vertebral
central de datos para una gran organización. Puede ser elástica y transparente con un tiempo de
inactividad. Los flujos de datos se dividen y se extienden sobre un grupo de máquinas para que los
flujos de datos más grande que la capacidad de cualquier máquina única y permitir racimos de
coordinados consumidores
Durable
Los mensajes se conservan en el disco y se replican dentro del cluster para evitar la pérdida de
datos. Cada corredor puede manejar terabytes de mensajes sin impacto en el rendimiento.
Distribuido por Diseño
Kafka tiene un diseño moderno -cluster céntrica que ofrece durabilidad fuerte y de tolerancia a
fallos. El registro se distribuye a través de los servidores del cluster Kafka con el manejo de datos
como las solicitudes de una parte de las particiones de cada servidor. Cada partición se replica a
través de un número configurable de servidores para la tolerancia a fallos.
Cada partición tiene un servidor que actúa como el "líder " y cero o más servidores que actúan
como "seguidores". El líder se encarga leer y escribir solicitudes de la partición mientras que los
seguidores pasivamente replican el líder. Si el líder falla, uno de los seguidores se convertirá
automáticamente en el nuevo líder. Cada servidor actúa como un líder para algunos de sus
particiones y un seguidor de los demás para la carga está bien equilibrado dentro de la agrupación.
Por lo tanto, en de un nivel alto los productores envían mensajes a través de la red al cluster Kafka
que a su vez les sirve a los consumidores:
La comunicación entre los clientes y los servidores se realiza de manera simple, de alto
rendimiento, su lenguaje protocolo TCP. Proporciona a clientes Java para Kafka y para los clientes
están disponibles en muchos idiomas.
Temas y Logs
Primera inmersión nos dejó en la abstracción de alto nivel Kafka proporciona el temas de categoría
o de alimentación a la que se publican los mensajes. El clúster Kafka mantiene un registro con cada
partición es una orden, secuencia inmutable de los mensajes que se añade continuamente a un
registro de confirmación. Los mensajes en las particiones son cada uno asignado a un número de
identificación secuencial llamado el desplazamiento que identifica de manera única cada mensaje
dentro de la partición. El cluster Kafka mantiene todo publicó mensajes o no han sido consumidos
por un período de tiempo.
Esta combinación de características significa que los consumidores Kafka son muy baratos, que
pueden ir y venir sin mucho impacto en el clúster o en otros consumidores. Por ejemplo, puede
utilizar nuestras herramientas de línea de comandos para "cola" el contenido de cualquier tema
sin cambiar lo que se consume por cualquier consumidor existente.
Las particiones en el registro sirven para varios propósitos. En primer lugar, permiten el registro de
escalar más allá de un tamaño que quepa en un solo servidor. Cada partición individuo debe caber
en los servidores que hospedan, pero un tema puede tener muchas particiones para que pueda
manejar una cantidad arbitraria de datos. Segundo actúan como unidad de paralelismo a más en
que en un poco. Las particiones que tiene este aspecto:
Por último, el Storm incluye Apache Kafka un cluster distribuido de encolamiento que se distribuye
bajo la licencia Apache y que puede ser alimentado a través de una red o desde aplicaciones.
Kafka puede soportar una gran cantidad de datos de entrada y gratis a su escalabilidad puede
mantener su funcionamiento de forma eficiente, dentro de Kafka el flujo de entrada puede ser
particionado y repartido alrededor de las máquinas que componen el cluster. También es utilizada
es la implementación de entradas para los datos de Twitter, mediante este modo serían
distribuidos entre los diferentes nodos internos de la topología de los mensajes que serán
procesados.


No hay comentarios.:
Publicar un comentario