Apache Kafka

Comment configurer le partitionnement dans Apache Kafka

Comment configurer le partitionnement dans Apache Kafka
Apache Kafka est un puissant service de courtier de messages. C'est très rapide et fiable. Apache Kafka est open source et libre d'utilisation. Il est écrit en Java.Dans cet article, je vais vous montrer comment configurer des partitions dans Apache Kafka. Commençons.

Principes de base des partitions Apache Kafka :

Comprendre les bases d'Apache Kafka Cloisons, vous devez savoir sur Kafka Sujet premier.

UNE Sujet est comme une base de données dans une base de données SQL telle que MariaDB pour Apache Kafka. UNE Sujet a un nom ou un identifiant que vous utilisez pour regrouper les messages dans Apache Kafka.

UNE Cloison est comme un canal pour chacun Sujet. UNE Sujet peut avoir plusieurs Cloisons ou canaux.

Un câble réseau reliant deux ordinateurs a deux extrémités, l'une envoie des données, l'autre reçoit des données. Juste comme ça, Apache Kafka Topic a deux extrémités, Producteurle sable Consommateurs. UNE Producteur crée des messages et les envoie dans l'un des Cloisonsofa Sujet. UNE Consommateur d'autre part lit les messages du Cloisonsofa Sujet.

Plusieurs Cloisons ou canaux sont créés pour augmenter la redondance. Il est également utilisé pour regrouper les messages dans un Sujet.

C'est la base d'Apache Kafka Cloisons. Vous pouvez en savoir plus sur les partitions Apache Kafka sur un autre article dédié Partitionnement Apache Kafka à https://linuxhint.com/apache-kafka-partitionnement

Installation d'Apache Kafka :

J'ai un article détaillé dédié sur la façon de Installer Apache Kafka sur Ubuntu, que vous pouvez lire sur https://linuxhint.com/install-apache-kafka-ubuntu/

Avec quelques ajustements, vous pouvez également installer Apache Kafka sur d'autres distributions Linux.

Démarrage du serveur Apache Kafka :

Si vous avez suivi mon article pour installer Apache Kafka, démarrez d'abord le serveur Apache Kafka avec la commande suivante :

$ sudo kafka-server-start.sh /etc/kafka.Propriétés

Le serveur Apache Kafka devrait démarrer. Gardez ce terminal ouvert aussi longtemps que vous souhaitez que le serveur Apache Kafka s'exécute.

Création d'un sujet Apache Kafka :

Vous pouvez créer un Apache Kafka Sujet essai avec la commande suivante :

$ sudo kafka-sujets.ch \
--créer \
--gardien de zoo localhost:2181 \
--facteur de réplication 1 \
--partition 1 \
--test de sujet

le Sujet essai devrait être créé. Cette Sujet a 1 partition.

Si vous voulez créer, disons N partitions, puis définissez -partitions à N.

Créons-en un autre Sujet, Disons utilisateurs, avec 3 Cloisons, puis exécutez la commande suivante :

$ sudo kafka-sujets.ch \
--créer \
--gardien de zoo localhost:2181 \
--facteur de réplication 1 \
--partition 3 \
--utilisateurs du sujet

Utilisateurs du sujet devrait être créé avec 3 Cloisons.

Ajout de messages partitionnés au sujet :

UNE Cloisonmessage d'un Sujet a un clé et un valeur. le clé et valeur est généralement séparé par un virgule ou autre caractère spécial. Peu importe le caractère spécial que vous utilisez pour séparer le clé et valeur paire. Mais vous devez utiliser le même caractère spécial partout sur ce Sujet. Sinon, les choses pourraient mal tourner.

le clé est utilisé pour déterminer quel Cloison un message d'un Sujet appartient à. Il doit être unique sur un Sujet. Si tu as 3 Cloisons, alors vous devriez utiliser 3 différent clés. Pour que les messages puissent être divisés en 3 Cloisons.

Disons que notre utilisateurs Sujet possède 3 utilisateurs avec clé 1, 2, et 3, chacun d'eux appartient à l'un des 3 Cloisons de la utilisateurs Sujet.

Exécutez la commande suivante pour ajouter le premier utilisateur avec clé 1 en utilisant le API Producteur Kafka:

$ echo "1,nom : 'Shahriar Shovon', pays : 'BD'" | sudo kafka-console-producteur.ch \
--liste de courtiers localhost:9092 \
--utilisateurs du sujet \
--analyse de propriété.clé=vrai \
--clé de propriété.séparateur=,

Vous pouvez maintenant lister le message du utilisateurs Sujet en utilisant le API client Kafka avec la commande suivante :

$ sudo kafka-console-consommateur.ch \
--gardien de zoo localhost:2181 \
--utilisateurs du sujet \
--impression de propriété.clé=vrai \
--clé de propriété.séparateur=, \
--Depuis le début

Comme vous pouvez le voir, le clé et valeur paire que je viens d'ajouter au utilisateurs Sujet est listé.

je vais garder le Consommateur programme pour utilisateurs Sujet ouvrir sur ce Terminal et ajouter les autres utilisateurs au utilisateurs Sujet D'un autre Terminal et voir ce qui se passe.

Ajouter un autre utilisateur avec clé 2 avec la commande suivante :

$ echo "2,nom : 'John Doe', pays : 'BD'" | sudo kafka-console-producteur.ch \
--liste de courtiers localhost:9092 \
--utilisateurs du sujet \
--analyse de propriété.clé=vrai \
--clé de propriété.séparateur=,

Comme vous pouvez le voir dans la section marquée de la capture d'écran ci-dessous, le nouvel utilisateur est instantanément répertorié dans le programme Consumer.

Ajoutons notre dernier utilisateur avec clé 3 avec la commande suivante :

$ echo "3,nom : 'Evelina Aquilino', pays : 'US'" | sudo kafka-console-producteur.ch \
--liste de courtiers localhost:9092 \
--utilisateurs du sujet \
--analyse de propriété.clé=vrai \
--clé de propriété.séparateur=,

Comme vous pouvez le voir, le nouvel utilisateur est également répertorié dans le Consommateur programme.

Vous pouvez également ajouter de nombreux utilisateurs au même Cloison. Assurez-vous simplement que le clé est le même.

Ajoutons un autre utilisateur au Cloison avec clé 1:

$ echo "1,nom : 'Lynelle Piatt', pays : 'CA'" | sudo kafka-console-producteur.ch \
--liste de courtiers localhost:9092 \
--utilisateurs du sujet \
--analyse de propriété.clé=vrai \
--clé de propriété.séparateur=,

Comme vous pouvez le voir, le nouvel utilisateur est ajouté au bon Cloison du utilisateurs Sujet.

Je peux continuer à ajouter des utilisateurs aléatoires au utilisateurs Sujet et ils seront envoyés via la partition correcte comme vous pouvez le voir sur la capture d'écran ci-dessous.

Alors c'est comme ça Cloisons dans Apache Kafka fonctionne. Tous Cloison Est comme un File d'attente, le premier message que vous envoyez via cette partition s'affiche en premier, puis le deuxième message et ainsi de suite dans l'ordre d'envoi.

Si vous êtes un Java développeur, vous pouvez utiliser Java langage de programmation et API Java Apache Kafkas faire des choses intéressantes avec Apache Kafka Cloisons. Par exemple, vous pouvez affecter différents Cloison pour différentes salles de discussion pour votre application de messagerie instantanée car les messages doivent être affichés dans l'ordre où ils sont envoyés.

Alors c'est tout pour aujourd'hui. Merci d'avoir lu cet article.

Comment utiliser Xdotool pour stimuler les clics de souris et les frappes sous Linux
Xdotool est un outil de ligne de commande gratuit et open source pour simuler les clics de souris et les frappes. Cet article couvrira un bref guide s...
Top 5 des produits de souris d'ordinateur ergonomiques pour Linux
L'utilisation prolongée de l'ordinateur provoque-t-elle des douleurs au poignet ou aux doigts? Vous souffrez de raideurs articulaires et devez constam...
Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...