Come impostare il partizionamento in Apache Kafka

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

Basics delle partizioni di Apache Kafka:

Per capire le basi di Apache Kafka PartizioneS, devi sapere su 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ò avere molti Partiziones o canali.

Un cavo di rete che collega due computer ha due estremità, uno sta inviando dati, l'altro sta ricevendo dati. Proprio così, l'argomento Apache Kafka ha due fini, Produttoresabbia ConsumatoreS. UN Produttore crea messaggi e li invia in uno dei Partizionedivano Argomento. UN Consumatore D'altra parte legge i messaggi da Partizionedivano Argomento.

Multiplo PartizioneS o canali vengono creati per aumentare la ridondanza. Viene anche utilizzato per raggruppare i messaggi in uno specifico Argomento.

Avvio di Apache Kafka Server:

Se hai seguito il mio articolo per installare Apache Kafka, quindi avviare prima Apache Kafka Server con il seguente comando:

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

Il server Apache Kafka dovrebbe iniziare. Tieni questo terminale aperto finché si desidera eseguire il server Apache Kafka.

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 N partizioni, quindi impostate -partizioni A N.

Creiamo un altro Argomento, diciamo utenti, con 3 Partiziones, quindi eseguire il seguente comando:

$ sudo kafka-topics.sh \
--creare \
--Zookeeper localhost: 2181 \
--fattore di replica 1 \
--partizioni 3 \
--utenti di argomenti

Utenti di argomenti dovrebbe essere creato con 3 PartizioneS.

Aggiunta di messaggi partizionati all'argomento:

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

IL chiave è usato per determinare quale Partizione un messaggio di a Argomento appartiene a. Dovrebbe essere unico su un Argomento. Se hai 3 Partiziones, quindi dovresti usare 3 diverso chiaveS. In modo che i messaggi possano essere divisi in 3 PartizioneS.

Diciamo il nostro utenti Argomento ha 3 utenti con Chiave 1, 2, E 3, ognuno di essi appartiene a uno dei 3 Partiziones di Argomento degli utenti.

Esegui il comando seguente per aggiungere il primo utente con Chiave 1 usando il API produttore Kafka:

$ echo "1, nome: 'Shahriar Shovon', paese: 'bd'" | sudo kafka-tumole-produttore.sh \
--broker-list Localhost: 9092 \
--utenti di argomenti \
--Analisi della proprietà.Key = true \
--Chiave di proprietà.separatore =,

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

$ sudo kafka-consumatore-consumatore.sh \
--Zookeeper localhost: 2181 \
--utenti di argomenti \
--stampa di proprietà.Key = true \
--Chiave di proprietà.separatore =, \
--dall'inizio

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

Terrò il Consumatore programma per utenti Argomento Apri su questo terminale e aggiungi gli altri utenti al utenti Argomento da un'altro terminale E vedi cosa succede.

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

$ echo "2, nome: 'John Doe', paese: 'bd'" | sudo kafka-tumole-produttore.sh \
--broker-list Localhost: 9092 \
--utenti di argomenti \
--Analisi della proprietà.Key = true \
--Chiave di proprietà.separatore =,

Come puoi vedere dalla sezione contrassegnata dello screenshot di seguito, il nuovo utente è elencato immediatamente nel programma dei consumatori.

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

$ echo "3, nome: 'Evelina Aquilino', paese: 'US'" | sudo kafka-tumole-produttore.sh \
--broker-list Localhost: 9092 \
--utenti di argomenti \
--Analisi della proprietà.Key = true \
--Chiave di proprietà.separatore =,

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

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

Aggiungiamo un altro utente al Partizione con Chiave 1:

$ echo "1, nome: 'lynelle piatt', paese: 'ca'" | sudo kafka-tumole-produttore.sh \
--broker-list Localhost: 9092 \
--utenti di argomenti \
--Analisi della proprietà.Key = true \
--Chiave di proprietà.separatore =,

Come puoi vedere, il nuovo utente viene aggiunto al corretto Partizione del Argomento degli utenti.

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

Ecco come Partiziones in apache kafka funziona. Ogni Partizione è come un Coda, Il primo messaggio che invii attraverso quella partizione viene visualizzato prima, 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 Apache Kafka Java APIS per 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 è tutto per oggi. Grazie per aver letto questo articolo.