Apache Kafka

Partitionering instellen in Apache Kafka

Partitionering instellen in Apache Kafka
Apache Kafka is een krachtige message broker-service. Het is erg snel en betrouwbaar. Apache Kafka is open source en gratis te gebruiken. Het is geschreven in Java.In dit artikel laat ik je zien hoe je partities in Apache Kafka . instelt. Laten we beginnen.

Basisprincipes van Apache Kafka-partities:

De basis van Apache Kafka . begrijpen Partities, je moet weten over Kafka Onderwerp eerste.

EEN Onderwerp is als een database in een SQL-database zoals MariaDB voor Apache Kafka. EEN Onderwerp heeft een naam of identificatie die u gebruikt om berichten te groeperen in Apache Kafka.

EEN Partitie is als een kanaal voor elk Onderwerp. EEN Onderwerp kan er veel hebben Partities of kanalen.

Een netwerkkabel die twee computers met elkaar verbindt, heeft twee uiteinden: de ene verzendt gegevens, de andere ontvangt gegevens. Zo heeft Apache Kafka Topic twee doelen, Producents en Klantzo. EEN Producent maakt berichten aan en verzendt deze in een van de Partitiesofa Onderwerp. EEN Klant aan de andere kant leest de berichten van de Partitiesofa Onderwerp.

Meerdere Partities of kanalen worden gemaakt om de redundantie te vergroten. Het wordt ook gebruikt om berichten te groeperen in een specifieke Onderwerp.

Dat is de basis van Apache Kafka Partitiezo. U kunt meer leren over Apache Kafka-partities in een ander speciaal artikel Apache Kafka-partitionering op https://linuxhint.com/apache-kafka-partitionering

Apache Kafka installeren:

Ik heb een speciaal gedetailleerd artikel over hoe u Installeer Apache Kafka op Ubuntu, die u kunt lezen op https://linuxhint.com/install-apache-kafka-ubuntu/

Met een paar kleine aanpassingen kun je Apache Kafka ook op andere Linux-distributies installeren.

Apache Kafka-server starten:

Als je mijn artikel hebt gevolgd om Apache Kafka te installeren, start dan eerst de Apache Kafka-server met het volgende commando:

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

Apache Kafka-server zou moeten starten. Houd deze terminal open zolang u wilt dat de Apache Kafka-server draait.

Een Apache Kafka-onderwerp maken:

U kunt een Apache Kafka . maken Onderwerp testen met het volgende commando:

$ sudo kafka-onderwerpen.sch \
--maak \
--dierenverzorger localhost:2181 \
--replicatiefactor 1 \
--partities 1 \
--onderwerp testen

De Onderwerp testen moet worden gemaakt. Dit Onderwerp heeft 1 partitie.

Als je wilt creƫren, laten we zeggen nee partities en stel vervolgens in -partities naar nee.

Laten we er nog een maken Onderwerp, laten we zeggen gebruikers, met 3 Partities, voer dan de volgende opdracht uit:

$ sudo kafka-onderwerpen.sch \
--maak \
--dierenverzorger localhost:2181 \
--replicatiefactor 1 \
--partities 3 \
--onderwerp gebruikers

Onderwerp gebruikers moet worden gemaakt met 3 Partitiezo.

Gepartitioneerde berichten toevoegen aan het onderwerp:

EEN Partitieed bericht van a Onderwerp heeft een sleutel en een waarde. De sleutel en waarde wordt meestal gescheiden door een komma of ander speciaal teken. Het maakt niet uit welk speciaal teken u gebruikt om de sleutel en waarde paar-. Maar je moet overal hetzelfde speciale teken gebruiken Onderwerp. Anders kan het mis gaan.

De sleutel wordt gebruikt om te bepalen welke Partitie een bericht van een Onderwerp hoort bij. Het moet uniek zijn op a Onderwerp. Als je hebt 3 Partities, dan moet je 3 anders sleutelzo. Zodat de berichten kunnen worden onderverdeeld in: 3 Partitiezo.

Laten we zeggen onze gebruikers Onderwerp heeft 3 gebruikers met sleutel 1, 2, en 3, elk van hen behoort tot een van de 3 Partities van de gebruikers Onderwerp.

Voer de volgende opdracht uit om de eerste gebruiker toe te voegen met sleutel 1 de ... gebruiken Kafka Producer-API:

$ echo "1,naam: 'Shahriar Shovon', land: 'BD'" | sudo kafka-console-producer.sch \
--makelaarslijst localhost:9092 \
--onderwerp gebruikers \
--eigendom ontleden.sleutel=waar \
--eigendomssleutel.scheidingsteken=,

Nu kunt u het bericht van de . weergeven gebruikers Onderwerp de ... gebruiken Kafka Consumenten-API met het volgende commando:

$ sudo kafka-console-consumer.sch \
--dierenverzorger localhost:2181 \
--onderwerp gebruikers \
--eigendom afdrukken.sleutel=waar \
--eigendomssleutel.scheidingsteken=, \
--vanaf het begin

Zoals je kunt zien, is de sleutel en waarde paar dat ik zojuist heb toegevoegd aan de gebruikers Onderwerp wordt vermeld.

ik ga de houden Klant programma voor gebruikers Onderwerp open op deze terminal en voeg de andere gebruikers toe aan de gebruikers Onderwerp van een ander Terminal en kijk wat er gebeurt.

Nog een gebruiker toevoegen met sleutel 2 met het volgende commando:

$ echo "2,naam: 'John Doe', land: 'BD'" | sudo kafka-console-producer.sch \
--makelaarslijst localhost:9092 \
--onderwerp gebruikers \
--eigendom ontleden.sleutel=waar \
--eigendomssleutel.scheidingsteken=,

Zoals u kunt zien in het gemarkeerde gedeelte van de onderstaande schermafbeelding, wordt de nieuwe gebruiker onmiddellijk vermeld in het consumentenprogramma.

Laten we onze laatste gebruiker toevoegen met toets 3 met het volgende commando:

$ echo "3,naam: 'Evelina Aquilino', land: 'US'" | sudo kafka-console-producer.sch \
--makelaarslijst localhost:9092 \
--onderwerp gebruikers \
--eigendom ontleden.sleutel=waar \
--eigendomssleutel.scheidingsteken=,

Zoals u kunt zien, wordt de nieuwe gebruiker ook vermeld in de Klant programma.

U kunt ook veel gebruikers aan hetzelfde toevoegen Partitie. Zorg ervoor dat de sleutel is hetzelfde.

Laten we nog een gebruiker toevoegen aan de Partitie met sleutel 1:

$ echo "1,naam: 'Lynelle Piatt', land: 'CA'" | sudo kafka-console-producer.sch \
--makelaarslijst localhost:9092 \
--onderwerp gebruikers \
--eigendom ontleden.sleutel=waar \
--eigendomssleutel.scheidingsteken=,

Zoals u kunt zien, is de nieuwe gebruiker toegevoegd aan de juiste Partitie van de gebruikers Onderwerp.

Ik kan willekeurige gebruikers blijven toevoegen aan de gebruikers Onderwerp en ze worden door de juiste partitie gestuurd, zoals je kunt zien in de onderstaande schermafbeelding.

Dus dat is hoe Partities in Apache Kafka werkt. elke Partitie is zoals een Wachtrij, het eerste bericht dat u via die partitie verzendt, wordt eerst weergegeven en vervolgens het tweede bericht enzovoort in de volgorde waarin ze zijn verzonden.

Als je een Java ontwikkelaar, u kunt gebruiken Java programmeertaal en Apache Kafka Java-APIs om interessante dingen te doen met Apache Kafka Partitiezo. U kunt bijvoorbeeld verschillende Partitie voor verschillende chatrooms voor uw instant messaging-app, aangezien berichten moeten worden weergegeven in de volgorde waarin ze worden verzonden.

Dus dat was alles voor vandaag. Bedankt voor het lezen van dit artikel.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...