Kafka Architecture

Tweet

Se non sei sicuro di cosa sia Kafka, vedi Cos’è Kafka?.

Architettura Kafka

Kafka è costituito da record, argomenti, consumatori, produttori, broker, registri, partizioni e cluster. I record possono avere chiave (opzionale), valore e timestamp. Le registrazioni di Kafka sono immutabili. Un argomento Kafka è un flusso di record ("/orders", "/user-signups"). Puoi pensare a un argomento come a un nome di feed. Un argomento ha un registro che è l’archiviazione dell’argomento su disco. Un registro argomenti viene suddiviso in partizioni e segmenti. L’API Kafka Producer viene utilizzata per produrre flussi di record di dati. L’API Kafka Consumer viene utilizzata per consumare un flusso di record da Kafka. Un broker è un server Kafka che viene eseguito in un cluster Kafka. I broker Kafka formano un cluster. Il cluster Kafka è costituito da molti broker Kafka su molti server. Broker a volte si riferiscono a più di un sistema logico o come Kafka nel suo complesso.

Cloudurable fornisce formazione Kafka, consulenza Kafka, supporto Kafka e aiuta a creare cluster Kafka in AWS.

Architettura Kafka: Argomenti, produttori e consumatori

Architettura Kafka-Diagramma argomenti, produttori e consumatori

Kafka usa ZooKeeper per gestire il cluster. ZooKeeper viene utilizzato per coordinare la topologia broker / cluster. ZooKeeper è un file system coerente per le informazioni di configurazione. ZooKeeper viene utilizzato per l’elezione della leadership per i leader di partizione argomento Broker.

Architettura Kafka: Core Kafka

Architettura Kafka-Core Kafka Diagram

Kafka ha bisogno di ZooKeeper

Kafka usa Zookeeper per fare l’elezione della leadership di Kafka Broker e Topic Partition pairs. Kafka utilizza Zookeeper per gestire il rilevamento dei servizi per i broker Kafka che formano il cluster. Zookeeper invia modifiche della topologia a Kafka, quindi ogni nodo nel cluster sa quando un nuovo broker si è unito, un Broker è morto, un argomento è stato rimosso o un argomento è stato aggiunto, ecc. Zookeeper fornisce una visualizzazione sincronizzata della configurazione del cluster Kafka.

Kafka Producer, Consumer, Topic details

Kafka producers write to Topics. I consumatori di Kafka leggono dagli argomenti. Un argomento è associato a un registro che è la struttura dei dati sul disco. Kafka aggiunge i record di un produttore alla fine di un registro degli argomenti. Un registro argomenti è costituito da molte partizioni distribuite su più file che possono essere distribuite su più nodi cluster Kafka. I consumatori leggono da argomenti Kafka alla loro cadenza e possono scegliere dove sono (offset) nel registro degli argomenti. Ogni gruppo di consumatori tracce offset da dove avevano lasciato la lettura. Kafka distribuisce le partizioni del registro degli argomenti su diversi nodi in un cluster per prestazioni elevate con scalabilità orizzontale. La diffusione delle partizioni aiuta a scrivere rapidamente i dati. Le partizioni del registro degli argomenti sono un modo Kafka per dividere le letture e le scritture nel registro degli argomenti. Inoltre, le partizioni sono necessarie per avere più consumatori in un gruppo di consumatori che lavorano allo stesso tempo. Kafka replica le partizioni su molti nodi per fornire il failover.

Architettura Kafka: partizione tematica, gruppo di consumatori, offset e produttori

Architettura Kafka: Argomento Partizione, gruppo di consumatori, Offset e produttori Diagramma

Scala e velocità di Kafka

Come può Kafka scalare se più produttori e consumatori leggono e scrivono nello stesso log dell’argomento Kafka allo stesso tempo? Prima Kafka è veloce, Kafka scrive sul filesystem in sequenza che è veloce. Su una moderna unità veloce, Kafka può facilmente scrivere fino a 700 MB o più byte di dati al secondo. Kafka scala le scritture e le letture dividendo i log degli argomenti nelle partizioni. I registri degli argomenti di richiamo possono essere suddivisi in più partizioni che possono essere memorizzate su più server diversi e tali server possono utilizzare più dischi.Più produttori possono scrivere su partizioni diverse dello stesso argomento. Più utenti di più gruppi di consumatori possono leggere da diverse partizioni in modo efficiente.

Kafka Brokers

Un cluster Kafka è costituito da più broker Kafka. Ogni broker Kafka ha un ID univoco (numero).I broker Kafka contengono partizioni di log degli argomenti. La connessione a un broker avvia un client all’intero cluster Kafka.Per il failover, si desidera iniziare con almeno tre o cinque broker. Un cluster Kafka può avere, 10, 100 o 1.000 broker in un cluster, se necessario.

Kafka Cluster, Failover, ISRs

Kafka supporta la replica per supportare il failover. Ricordiamo che Kafka usa ZooKeeperto forma Kafka Brokers in un cluster e ogni nodo nel cluster Kafka è chiamato Kafka Broker.Le partizioni degli argomenti possono essere replicate su più nodi per il failover. L’argomento dovrebbe avere un fattore di replicazione maggiore di 1 (2 o 3). Ad esempio, se si esegue in AWS, si vorrebbe essere in grado di sopravvivere a una singola interruzione availabilityzone.Se un broker Kafka va giù, allora il broker Kafka che è un ISR (in-sync replica)può servire i dati.

Kafka Failover vs. Kafka Disaster Recovery

Kafka utilizza la replica per il failover. Replica di Kafka topic log partitionsallows per il fallimento di un rack o AWS availability zone (AZ). Hai bisogno di un replicationfactor di almeno 3 per sopravvivere a un singolo errore AZ. È necessario utilizzare Mirror Maker, un’utilità Kafka fornita con Kafka core, per il disaster recovery. Mirror Makerreplica un cluster Kafka in un altro data center o regione AWS.Chiamano ciò che Mirror Maker fa mirroring da non confondere con la replica.

Nota non esiste una regola dura e veloce su come impostare il cluster Kafka di per sé.È possibile, ad esempio, impostare l’intero cluster in un singolo AZ in modo da poter utilizzare gruppi di networking e posizionamento migliorati per un throughput più elevato, quindi utilizzare Mirror Makper eseguire il mirroring del cluster su un altro AZ nella stessa regione di uno hot-standby.

Kafka Architecture: Kafka Zookeeper Coordination

 Kafka Architecture-Kafka Zookeeper Coordination Diagram

Argomenti di Kafka Architettura

Continua a leggere su Kafka Architecture. Il prossimo articolo copre l’architettura degli argomenti di Kafkacon una discussione su come le partizioni vengono utilizzate per il failover e l’elaborazione parallela.

  • Che cos’è Kafka?
  • Kafka Architettura
  • Kafka Argomento Architettura
  • Kafka Consumatore Architettura
  • Kafka Produttore Architettura
  • Kafka Architettura e da un basso livello di design
  • Kafka e lo Schema del Registro di sistema
  • Kafka e Avro
  • Kafka Ecosistema
  • Kafka vs JMS
  • Kafka contro Kinesis
  • Kafka Tutorial: Utilizzando Kafka dalla riga di comando
  • Kafka Tutorial: Kafka Broker di Failover e di Consumo di Failover
  • Kafka Tutorial
  • Kafka Esercitazione: Scrittura di Kafka Produttore esempio in Java
  • Kafka Esercitazione: Scrittura di Kafka Consumatore esempio in Java
  • Kafka Architettura: Registro di Compattazione
  • Kafka Architettura: Basso Livello di Diapositive in formato PDF

Su Cloudurable

speriamo che vi sia piaciuto questo articolo. Si prega di fornire un feedback.Cloudurable fornisce formazione Kafka, consulenza Kafka, supporto Kafka e aiuta a creare cluster Kafka in AWS.

Scopri il nostro nuovo corso GoLang. Forniamo in loco Go Lang formazione che è istruttore guidato.

Tweet

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.