Apache Kafka

Cómo configurar particiones en Apache Kafka

Cómo configurar particiones en Apache Kafka
Apache Kafka es un potente servicio de intermediación de mensajes. Es muy rapido y confiable. Apache Kafka es de código abierto y de uso gratuito. Está escrito en Java.En este artículo, le mostraré cómo configurar particiones en Apache Kafka. Empecemos.

Conceptos básicos de las particiones de Apache Kafka:

Para comprender los conceptos básicos de Apache Kafka Dividirs, necesitas saber sobre Kafka Tema primero.

A Tema es como una base de datos en una base de datos SQL como MariaDB para Apache Kafka. A Tema tiene un nombre o identificador que usa para agrupar mensajes en Apache Kafka.

A Dividir es como un canal para cada Tema. A Tema puede tener muchos Dividirso canales.

Un cable de red que conecta dos computadoras tiene dos extremos, uno envía datos y el otro recibe datos. Así, Apache Kafka Topic tiene dos extremos, Productorarena Consumidors. A Productor crea mensajes y los envía en uno de los Dividirs de un Tema. A Consumidor por otro lado lee los mensajes del Dividirs de un Tema.

Múltiple DividirSe crean so canales para aumentar la redundancia. También se utiliza para agrupar mensajes en un Tema.

Eso es lo básico de Apache Kafka Dividirs. Puede obtener más información sobre las particiones de Apache Kafka en otro artículo dedicado Partición de Apache Kafka en https: // linuxhint.com / apache-kafka-particionamiento

Instalación de Apache Kafka:

Tengo un artículo detallado dedicado sobre cómo Instalar Apache Kafka en Ubuntu, que puede leer en https: // linuxhint.com / install-apache-kafka-ubuntu /

Con algunos ajustes, también puede instalar Apache Kafka en otras distribuciones de Linux.

Inicio del servidor Apache Kafka:

Si ha seguido mi artículo para instalar Apache Kafka, primero inicie el servidor Apache Kafka con el siguiente comando:

$ sudo kafka-server-start.sh / etc / kafka.propiedades

El servidor Apache Kafka debería iniciarse. Mantenga esta terminal abierta mientras desee que se ejecute el servidor Apache Kafka.

Creación de un tema de Apache Kafka:

Puedes crear un Apache Kafka Tema pruebas con el siguiente comando:

$ sudo kafka-topics.sh \
--crear \
--guardián del zoológico localhost: 2181 \
--factor de replicación 1 \
--particiones 1 \
--prueba de tema

La Tema pruebas debe ser creado. Esto Tema tiene 1 partición.

Si quieres crear, digamos norte particiones, luego establezca -particiones a norte.

Creemos otro Tema, digamos usuarios, con 3 Dividirs, luego ejecute el siguiente comando:

$ sudo kafka-topics.sh \
--crear \
--guardián del zoológico localhost: 2181 \
--factor de replicación 1 \
--particiones 3 \
--usuarios del tema

Usuarios del tema debe crearse con 3 Dividirs.

Adición de mensajes particionados al tema:

A Dividirmensaje ed de un Tema tiene un clave y un valor. La clave y valor suele estar separado por un coma u otro personaje especial. No importa qué carácter especial utilice para separar el clave y valor par. Pero debes usar el mismo carácter especial en todas partes en ese Tema. De lo contrario, las cosas podrían salir mal.

La clave se utiliza para determinar qué Dividir un mensaje de un Tema pertenece a. Debería ser único en un Tema. Si usted tiene 3 Dividirs, entonces deberías usar 3 diferente claves. Para que los mensajes se puedan dividir en 3 Dividirs.

Digamos nuestro usuarios Tema posee 3 usuarios con clave 1, 2, y 3, cada uno de ellos pertenece a uno de los 3 Dividirs de la usuarios Tema.

Ejecute el siguiente comando para agregar el primer usuario con clave 1 utilizando la API de Kafka Producer:

$ echo "1, nombre: 'Shahriar Shovon', país: 'BD'" | sudo kafka-consola-productor.sh \
--localhost de lista de corredores: 9092 \
--usuarios del tema \
--análisis de propiedad.clave = verdadero \
--clave de propiedad.separador =,

Ahora puede enumerar el mensaje de la usuarios Tema utilizando la API de consumidor de Kafka con el siguiente comando:

$ sudo kafka-console-consumer.sh \
--guardián del zoológico localhost: 2181 \
--usuarios del tema \
--impresión de propiedad.clave = verdadero \
--clave de propiedad.separador =, \
--desde el principio

Como puede ver, el clave y valor par que acabo de agregar al usuarios Tema está listado.

Voy a mantener el Consumidor programa para usuarios Tema abrir en esta Terminal y agregar los otros usuarios a la usuarios Tema de otro Terminal y mira lo que pasa.

Agregar otro usuario con clave 2 con el siguiente comando:

$ echo "2, nombre: 'John Doe', país: 'BD'" | sudo kafka-consola-productor.sh \
--localhost de lista de corredores: 9092 \
--usuarios del tema \
--análisis de propiedad.clave = verdadero \
--clave de propiedad.separador =,

Como puede ver en la sección marcada de la captura de pantalla a continuación, el nuevo usuario aparece en el programa del consumidor al instante.

Agreguemos nuestro último usuario con clave 3 con el siguiente comando:

$ echo "3, nombre: 'Evelina Aquilino', país: 'US'" | sudo kafka-consola-productor.sh \
--localhost de lista de corredores: 9092 \
--usuarios del tema \
--análisis de propiedad.clave = verdadero \
--clave de propiedad.separador =,

Como puede ver, el nuevo usuario también aparece en la lista Consumidor programa.

También puede agregar muchos usuarios al mismo Dividir. Solo asegúrate de clave es el mismo.

Agreguemos otro usuario al Dividir con clave 1:

$ echo "1, nombre: 'Lynelle Piatt', país: 'CA'" | sudo kafka-consola-productor.sh \
--localhost de lista de corredores: 9092 \
--usuarios del tema \
--análisis de propiedad.clave = verdadero \
--clave de propiedad.separador =,

Como puede ver, el nuevo usuario se agrega a la correcta Dividir de El usuarios Tema.

Puedo seguir agregando usuarios aleatorios al usuarios Tema y se enviarán a través de la partición correcta, como puede ver en la captura de pantalla a continuación.

Entonces asi es como Dividirs en las obras de Apache Kafka. Cada Dividir es como un Cola, el primer mensaje que envía a través de esa partición se muestra primero, y luego el segundo mensaje y así sucesivamente en el orden en que se envían.

Si eres un Java desarrollador, puedes usar Java lenguaje de programación y API de Apache Kafka Javas hacer cosas interesantes con Apache Kafka Dividirs. Por ejemplo, puede asignar diferentes Dividir para diferentes salas de chat para su aplicación de mensajería instantánea, ya que los mensajes deben mostrarse en el orden en que se envían.

Entonces eso es todo por hoy. Gracias por leer este artículo.

Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...
Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....