IBM Cloud Docs
Aprender los conceptos de Apache Kafka

Aprender los conceptos de Apache Kafka

Apache Kafka es una plataforma de streaming distribuida utilizada por muchas empresas para numerosas cargas de trabajo por lotes, así como para la integración de datos en tiempo real y los casos de uso de streaming de datos.

Diagrama de arquitectura de

Kafka.
The diagram shows a Kafka architecture.

La siguiente lista define algunos conceptos de Apache Kafka:

Intermediarios

Apache Kafka es un sistema de mensajería distribuida. Un clúster de Kafka está formado por un conjunto de intermediarios. Un clúster tiene un mínimo de tres intermediarios.

Diagrama de intermediarios.
Diagram that shows an example cluster with three brokers.

Mensajes

Un mensaje es una unidad de datos en Kafka. Cada mensaje está representado en forma de registro, que consta de dos partes: clave y valor. La clave se utiliza habitualmente para los datos sobre el mensaje y el valor es el cuerpo del mensaje. Kafka utiliza los términos registro y mensaje de forma intercambiable.

Temas y particiones

Cada tema es una secuencia de mensajes con nombre. Un tema está formado por una o más particiones. Los mensajes de una partición están ordenados por un número que se denomina desplazamiento. Con múltiples particiones distribuidas por los brokers, aumenta la escalabilidad de un tema.

Si un tema tiene más de una partición, permite a los datos alimentarse en paralelo para aumentar el rendimiento distribuyendo las particiones en el clúster. El número de particiones también influye en el equilibrio de carga de trabajo entre los consumidores.

Para obtener más información, consulte Liderazgo de particiones.

Temas y diagrama de particiones.
The diagram shows one topic with three partitions that are spread across three brokers.

Réplica

Para mejorar la disponibilidad, cada tema se puede replicar en varios intermediarios. Para cada partición, uno de los intermediarios es el líder, y los otros intermediarios son los seguidores.

Los trabajos de réplica de los seguidores que captan repetidamente mensajes del líder.

Diagrama de réplica.
The diagram shows a topic partition that is replicated across three brokers.

Réplicas en sincronización

Una réplica de seguidor que se mantiene al día con el líder de la partición está en sincronización. Cualquier seguidor con una réplica en sincronización puede convertirse en el líder sin perder ningún mensaje.

Si el líder de la partición falla, se elige a otro líder entre los seguidores. Todas las réplicas deben estar normalmente sincronizadas. Es aceptable que una réplica no se sincronice temporalmente mientras se está recuperando después de una anomalía.

Diagrama de réplicas en sincronización.
The diagram shows a topic partition that is replicated across three brokers and staying in-sync across all replicas.

Productores

Un productor es una aplicación cliente que publica mensajes en uno o más temas. Un productor puede publicar en uno o más temas y puede elegir opcionalmente la partición que almacena los datos.

También puede configurar su productor para priorizar la velocidad o la fiabilidad eligiendo el nivel de acuse de recibo que recibe el productor para los mensajes que publica.

Para obtener más información, consulte Generación de mensajes.

Diagrama de productores.
The diagram shows a producer publishing messages to one topic across three brokers.

Consumidores

Un consumidor es una aplicación cliente que lee mensajes de uno o más temas y los procesa. La diferencia entre la posición actual de un consumidor y el mensaje más reciente sobre una partición se conoce como el retraso de desplazamiento.

Si el retraso se incrementa con el tiempo, es señal de que el consumidor no es capaz de mantenerse al día. A corto plazo, esto no es un problema, pero eventualmente el consumidor puede perder mensajes si se supera el periodo de retención.

Para obtener más información, consulte Consumo de mensajes.

Diagrama Consumidores.
The diagram shows a consumer processing messages from one topic across three brokers.

Grupos de consumidores

Un grupo de consumidores contiene uno o más consumidores que trabajan juntos para procesar los mensajes de un tema. Los mensajes de una sola partición son procesados por un consumidor en cada grupo.

En cualquier momento, cada partición se asigna a un solo consumidor en el grupo. Esta asignación garantiza que los mensajes de cada partición se procesen en orden.

Si en grupo existen más particiones que consumidores, algunos consumidores tienen varias particiones. Si existen más consumidores que particiones, algunos consumidores no tienen particiones.

Diagrama de grupos de consumidores.
The diagram shows a consumer processing messages from one topic across three brokers.

Más información

Para obtener más información, consulte la documentación deApache Kafka.