Apache Kafka - Fundamentos
Antes de profundizar en el Kafka, debe conocer las principales terminologías como temas, corredores, productores y consumidores. El siguiente diagrama ilustra las terminologías principales y la tabla describe los componentes del diagrama en detalle.
En el diagrama anterior, un tema se configura en tres particiones. La partición 1 tiene dos factores de compensación 0 y 1. La partición 2 tiene cuatro factores de compensación 0, 1, 2 y 3. La partición 3 tiene un factor de compensación 0. La identificación de la réplica es la misma que la del servidor que la aloja.
Supongamos que, si el factor de replicación del tema se establece en 3, Kafka creará 3 réplicas idénticas de cada partición y las colocará en el clúster para que estén disponibles para todas sus operaciones. Para equilibrar una carga en el clúster, cada corredor almacena una o más de esas particiones. Varios productores y consumidores pueden publicar y recuperar mensajes al mismo tiempo.
S. No | Componentes y descripción |
---|---|
1 | Topics Un flujo de mensajes que pertenecen a una categoría en particular se denomina tema. Los datos se almacenan en temas. Los temas se dividen en particiones. Para cada tema, Kafka mantiene un mínimo de una partición. Cada una de estas particiones contiene mensajes en una secuencia ordenada inmutable. Una partición se implementa como un conjunto de archivos de segmentos de igual tamaño. |
2 | Partition Los temas pueden tener muchas particiones, por lo que pueden manejar una cantidad arbitraria de datos. |
3 |
Partition offset Cada mensaje particionado tiene una identificación de secuencia única llamada como |
4 |
Replicas of partition Las réplicas no son más que |
5 |
Brokers
|
6 |
Kafka Cluster El hecho de que Kafka tenga más de un corredor se denomina grupo de Kafka. Un clúster de Kafka se puede expandir sin tiempo de inactividad. Estos clústeres se utilizan para administrar la persistencia y replicación de los datos de los mensajes. |
7 |
Producers Los productores son los editores de mensajes sobre uno o más temas de Kafka. Los productores envían datos a los corredores de Kafka. Cada vez que un productor publica un mensaje para un corredor, el corredor simplemente agrega el mensaje al último archivo de segmento. En realidad, el mensaje se agregará a una partición. El productor también puede enviar mensajes a una partición de su elección. |
8 |
Consumers Los consumidores leen datos de los corredores. Los consumidores se suscriben a uno o más temas y consumen los mensajes publicados extrayendo datos de los corredores. |
9 |
Leader
|
10 |
Follower El nodo que sigue las instrucciones del líder se llama seguidor. Si el líder falla, uno de los seguidores se convertirá automáticamente en el nuevo líder. Un seguidor actúa como consumidor normal, extrae mensajes y actualiza su propio almacén de datos. |