Apache Kafka

Come impostare il partizionamento in Apache Kafka

Come impostare il partizionamento in Apache Kafka
Apache Kafka è un potente servizio di messaggistica. È molto veloce e affidabile. Apache Kafka è open source e gratuito. È scritto in Java.In questo articolo, ti mostrerò come configurare le partizioni in Apache Kafka. Iniziamo.

Nozioni di base sulle partizioni di Apache Kafka:

Per comprendere le basi di Apache Kafka Partiziones, devi sapere di Kafka Argomento primo.

UN Argomento è come un database in un database SQL come MariaDB per Apache Kafka. UN Argomento ha un nome o un identificatore che usi per raggruppare i messaggi in Apache Kafka.

UN Partizione è come un canale per ciascuno Argomento. UN Argomento può averne molti Partiziones o canali.

Un cavo di rete che collega due computer ha due estremità, una sta inviando dati, l'altra sta ricevendo dati. Proprio così, Apache Kafka Topic ha due estremità, Produttores e ConsumatoreS. UN Produttore crea messaggi e li invia in uno dei Partiziones di a Argomento. UN Consumatore d'altra parte legge i messaggi dal from Partiziones di a Argomento.

multiplo Partiziones o canali sono creati per aumentare la ridondanza. Viene anche utilizzato per raggruppare i messaggi in uno specifico Argomento.

Queste sono le basi di Apache Kafka PartizioneS. Puoi saperne di più sulle partizioni di Apache Kafka in un altro articolo dedicato Partizionamento di Apache Kafka su https://linuxhint.com/apache-kafka-partitioning

Installazione di Apache Kafka:

Ho un articolo dettagliato dedicato su come Installa Apache Kafka su Ubuntu, che puoi leggere su https://linuxhint.com/install-apache-kafka-ubuntu/

Con qualche piccola modifica, puoi installare Apache Kafka anche su altre distribuzioni Linux.

Avvio del server Apache Kafka:

Se hai seguito il mio articolo per installare Apache Kafka, avvia prima il server Apache Kafka con il seguente comando:

$ sudo kafka-server-start.sh /etc/kafka.proprietà

Il server Apache Kafka dovrebbe avviarsi. Tieni aperto questo terminale finché vuoi che il server Apache Kafka venga eseguito.

Creazione di un argomento Apache Kafka:

Puoi creare un Apache Kafka Argomento test con il seguente comando:

$ sudo kafka-topics.sh \
--creare \
--zookeeper localhost:2181 \
--fattore di replica 1 \
--partizioni 1 \
--test dell'argomento

Il Argomento test dovrebbe essere creato. Questo Argomento ha 1 partizione.

Se vuoi creare, diciamo no partizioni, quindi impostare -partizioni per no.

Creiamone un altro Argomento, diciamo utenti, con 3 Partiziones, quindi esegui il seguente comando:

$ sudo kafka-topics.sh \
--creare \
--zookeeper localhost:2181 \
--fattore di replica 1 \
--partizioni 3 \
--utenti dell'argomento

Utenti dell'argomento dovrebbe essere creato con 3 PartizioneS.

Aggiunta di messaggi partizionati all'argomento:

UN Partizioneed messaggio di a Argomento ha un chiave e un valore. Il chiave e valore è solitamente separato da a virgola o altro carattere speciale. Non importa quale carattere speciale usi per separare il chiave e valore paio. Ma devi usare lo stesso carattere speciale ovunque su questo Argomento. Altrimenti le cose potrebbero andare storte.

Il chiave viene utilizzato per determinare quale Partizione un messaggio di a Argomento appartiene a. Dovrebbe essere unico su a on Argomento. Se hai 3 Partiziones, allora dovresti usare 3 diverso chiaveS. In modo che i messaggi possano essere suddivisi in 3 PartizioneS.

Diciamo il nostro utenti Argomento ha 3 utenti con tasto 1, 2, e 3, ognuno di loro appartiene a uno dei 3 Partiziones del utenti Argomento.

Esegui il seguente comando per aggiungere il primo utente con tasto 1 usando il Kafka Producer API:

$ echo "1,nome: 'Shahriar Shovon', paese: 'BD'" | sudo kafka-console-producer.sh \
--elenco-broker localhost:9092 \
--utenti argomento \
--analisi delle proprietà.chiave=vero \
--chiave di proprietà.separatore=,

Ora puoi elencare il messaggio del utenti Argomento usando il Kafka Consumer API con il seguente comando:

$ sudo kafka-console-consumer.sh \
--zookeeper localhost:2181 \
--utenti argomento \
--stampa della proprietà.chiave=vero \
--chiave di proprietà.separatore=, \
--dall'inizio

Come puoi vedere, il chiave e valore coppia che ho appena aggiunto al utenti Argomento È elencato.

ho intenzione di mantenere il Consumatore programma per utenti Argomento apri su questo Terminale e aggiungi gli altri utenti al utenti Argomento da un'altro terminale e guarda cosa succede.

Aggiungi un altro utente con tasto 2 con il seguente comando:

$ echo "2,nome: 'John Doe', paese: 'BD'" | sudo kafka-console-producer.sh \
--elenco-broker localhost:9092 \
--utenti argomento \
--analisi delle proprietà.chiave=vero \
--chiave di proprietà.separatore=,

Come puoi vedere dalla sezione contrassegnata dello screenshot qui sotto, il nuovo utente viene elencato istantaneamente nel programma Consumer.

Aggiungiamo il nostro ultimo utente con tasto 3 con il seguente comando:

$ echo "3,nome: 'Evelina Aquilino', nazione: 'USA'" | sudo kafka-console-producer.sh \
--elenco-broker localhost:9092 \
--utenti argomento \
--analisi delle proprietà.chiave=vero \
--chiave di proprietà.separatore=,

Come puoi vedere, il nuovo utente è elencato anche nel Consumatore programma.

Puoi anche aggiungere molti utenti allo stesso Partizione. Assicurati solo che chiave è la stessa.

Aggiungiamo un altro utente al Partizione con tasto 1:

$ echo "1,nome: 'Lynelle Piatt', paese: 'CA'" | sudo kafka-console-producer.sh \
--elenco-broker localhost:9092 \
--utenti argomento \
--analisi delle proprietà.chiave=vero \
--chiave di proprietà.separatore=,

Come puoi vedere, il nuovo utente viene aggiunto a quello corretto Partizione del utenti Argomento.

Posso continuare ad aggiungere utenti casuali al utenti Argomento e verranno inviati attraverso la partizione corretta come puoi vedere dallo screenshot qui sotto.

Ecco come Partiziones nelle opere di Apache Kafka. Ogni Partizione è come un Coda, il primo messaggio che invii attraverso quella partizione viene visualizzato per primo, quindi il secondo messaggio e così via nell'ordine in cui vengono inviati.

Se sei un Giava sviluppatore, puoi usare Giava linguaggio di programmazione e API Java di Apache Kafkas fare cose interessanti con Apache Kafka PartizioneS. Ad esempio, puoi assegnare diversi Partizione per diverse chat room per la tua app di messaggistica istantanea poiché i messaggi devono essere visualizzati nell'ordine in cui vengono inviati.

Quindi per oggi è tutto. Grazie per aver letto questo articolo.

Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...
Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...