in

Temas de Kafka – javatpoint

kafka topics

En la sección anterior, hicimos una breve introducción sobre Apache Kafka, el sistema de mensajería y el proceso de transmisión. Aquí, discutiremos los conceptos básicos y el papel de Kafka.

Temas

Generalmente, un tema se refiere a un encabezado particular o un nombre dado a algunas ideas específicas interrelacionadas. En Kafka, la palabra tema se refiere a una categoría o un nombre común que se utiliza para almacenar y publicar un flujo de datos en particular. Básicamente, los temas de Kafka son similares a las tablas de la base de datos, pero no contienen todas las restricciones. En Kafka, podemos crear n número de temas como queramos. Se identifica por su nombre, que depende de la elección del usuario. Un productor publica datos sobre los temas y un consumidor lee esos datos del tema al suscribirse.

Particiones

Un tema se divide en varias partes que se conocen como particiones del tema. Estas particiones están separadas en un orden. El contenido de los datos se almacena en las particiones dentro del tema. Por lo tanto, al crear un tema, necesitamos especificar el número de particiones (el número es arbitrario y se puede cambiar más adelante). Cada mensaje se almacena en particiones con una identificación incremental conocida como su valor de compensación. El orden del valor de compensación está garantizado solo dentro de la partición y no a través de la partición. Las compensaciones de una partición son infinitas.

Nota: Los datos, una vez escritos en una partición, nunca se pueden cambiar. Es inmutable. El valor de compensación siempre permanece en un estado incremental, nunca vuelve a un espacio vacío. Además, los datos se guardan en una partición solo por un tiempo limitado.

Veamos un ejemplo para entender un tema con sus particiones.

Temas de Kafka

Supongamos que un tema contiene tres particiones 0,1 y 2. Cada partición tiene diferentes números de compensación. Los datos se distribuyen entre cada desplazamiento en cada partición donde los datos en el desplazamiento 1 de la Partición 0 no tienen ninguna relación con los datos en el desplazamiento 1 de la Partición1. Pero, los datos en el desplazamiento 1 de la Partición 0 están interrelacionados con los datos contenidos en el desplazamiento 2 de la Partición0.

Corredores

Aquí viene el papel de Apache Kafka.

Un clúster de Kafka se compone de uno o más servidores que se conocen como corredores o corredores de Kafka. Un corredor es un contenedor que contiene varios temas con sus múltiples particiones. Los intermediarios del clúster se identifican únicamente con un ID de número entero. Los corredores de Kafka también se conocen como Corredores de Bootstrap porque la conexión con cualquier corredor significa conexión con todo el clúster. Aunque un intermediario no contiene datos completos, cada intermediario del clúster conoce todos los demás intermediarios, las particiones y los temas.

Temas de Kafka

Así es como se ve un corredor en la figura que contiene un tema con n número de particiones.

Ejemplo: corredores y temas

Supongamos que un clúster de Kafka consta de tres corredores, a saber, el Broker 1, el Broker 2 y el Broker 3.

Temas de Kafka

Cada corredor tiene un tema, a saber, Topic-x con tres particiones 0,1 y 2. Recuerde, todas las particiones no pertenecen a un solo corredor, siempre se distribuye entre cada corredor (depende de la cantidad). El Broker 1 y el Broker 2 contienen otro tema-y que tiene dos particiones 0 y 1. Por lo tanto, el Broker 3 no contiene ningún dato del Topic-y. También se concluye que nunca existe relación entre el número de intermediario y el número de partición.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

impresión – ¿Cómo imprimir en stderr en Python?

Imagen HTML – javatpoint