Kafka Architecture

Tweet

als u niet zeker weet wat Kafka is, zie dan wat Kafka is?.

Kafka architectuur

Kafka bestaat uit Records, onderwerpen, consumenten, producenten, Brokers, Logs, partities en Clusters. Records kunnen sleutel (optioneel), waarde en tijdstempel hebben. Kafka Records zijn onveranderlijk. Een Kafka onderwerp is een stroom van records ("/orders", "/user-signups"). U kunt denken aan een onderwerp als een feed naam. Een onderwerp heeft een Log die de opslag van het onderwerp op schijf is. Een Topic Log is opgedeeld in partities en segmenten. De Kafka Producer API wordt gebruikt om streams van gegevensrecords te produceren. De Kafka Consumer API wordt gebruikt om een stroom van records uit Kafka te consumeren. Een Broker is een Kafka server die draait in een Kafka Cluster. Kafka Makelaars vormen een cluster. De Kafka Cluster bestaat uit vele Kafka makelaars op vele servers. Broker soms verwijzen naar meer van een logisch systeem of als Kafka als geheel.

Cloudurable biedt Kafka training, Kafka consulting, Kafka ondersteuning en helpt bij het opzetten van Kafka clusters in AWS.

Kafka-Architectuur: Thema ‘s, producenten en consumenten

Kafka architectuur - thema' s, producenten en consumenten Diagram

Kafka gebruikt ZooKeeper om het cluster te beheren. ZooKeeper wordt gebruikt om de makelaars/cluster topologie te coördineren. ZooKeeper is een consistent bestandssysteem voor configuratie-informatie. ZooKeeper wordt gebruikt voor leiderschap verkiezing voor Makelaar onderwerp partitie leiders.

Kafka Architectuur: Kern Kafka

Kafka-architectuur - kern Kafka-Diagram

Kafka heeft ZooKeeper

Kafka gebruikt Zookeeper om leiding te geven aan Kafka Broker en Topic Partition pairs. Kafka gebruikt Zookeeper om service discovery te beheren voor Kafka Brokers die het cluster vormen. Zookeeper stuurt wijzigingen van de topologie naar Kafka, zodat elk knooppunt in het cluster weet wanneer een nieuwe makelaar lid werd, een makelaar stierf, een onderwerp werd verwijderd of een onderwerp werd toegevoegd, enz. Zookeeper biedt een in-sync weergave van Kafka Cluster configuratie.

Kafka Producent, Consument, onderwerp details

Kafka producenten schrijven naar onderwerpen. Kafka consumenten lezen uit onderwerpen. Een onderwerp wordt geassocieerd met een log die gegevensstructuur op schijf. Kafka voegt records van een producent(s) toe aan het einde van een topic log. Een topic log bestaat uit vele partities die verspreid zijn over meerdere bestanden die verspreid kunnen worden over meerdere Kafka cluster nodes. Consumenten lezen Kafka-onderwerpen op hun cadans en kunnen kiezen waar ze zijn (offset) in het topic log. Elke consumentengroep volgt offset van waar ze ophielden met lezen. Kafka distribueert topic log partities op verschillende knooppunten in een cluster voor hoge prestaties met horizontale schaalbaarheid. Het verspreiden van partities helpt bij het snel schrijven van gegevens. Topic log partities zijn Kafka manier om te scherpen leest en schrijft naar het topic log. Ook zijn partities nodig om meerdere consumenten in een consumentengroep tegelijkertijd te laten werken. Kafka repliceert partities naar vele knooppunten om failover te bieden.

Kafka Architecture: Topic Partition, Consumer group, Offset and Producers

Kafka Architecture: Onderwerp verdeling, consumentengroep, Offset en Producentendiagram

Kafka schaal en snelheid

Hoe kan Kafka schalen als meerdere producenten en consumenten tegelijkertijd hetzelfde Kafka topic log lezen en schrijven? Eerst Kafka is snel, Kafka schrijft sequentieel naar bestandssysteem dat is snel. Op een moderne snelle schijf kan Kafka gemakkelijk tot 700 MB of meer bytes aan gegevens per seconde schrijven. Kafka schaalt schrijft en leest door onderwerp in te loggen op partities. Recall topics logs kunnen worden opgesplitst in meerdere partities die kunnen worden opgeslagen op meerdere verschillende servers, en die servers kunnen meerdere schijven gebruiken.Meerdere producenten kunnen schrijven naar verschillende partities van hetzelfde onderwerp. Meerdere consumenten uit meerdere consumentengroepen kunnen efficiënt van verschillende partities lezen.

Kafka-Brokers

een Kafka-cluster bestaat uit meerdere Kafka-Brokers. Elke Kafka makelaar heeft een uniek ID (nummer).Kafka Brokers bevatten topic log partities. Verbinden met een makelaar bootstraps een client naar de hele Kafka cluster.Voor failover, je wilt beginnen met ten minste drie tot vijf makelaars. Een Kafka cluster kan hebben, 10, 100, of 1.000 makelaars in een cluster indien nodig.

Kafka Cluster, Failover, ISRs

Kafka ondersteunt replicatie om failover te ondersteunen. Bedenk dat Kafka gebruikt ZooKeeperto vorm Kafka Brokers in een cluster en elk knooppunt in Kafka cluster heet een Kafka Broker.Onderwerppartities kunnen voor failover over meerdere knooppunten worden gerepliceerd. De topic moet een replicatiefactor hebben groter dan 1 (2, of 3). Als u bijvoorbeeld in AWS draait, wilt u in staat zijn om een enkele beschikbaarheidzone uitval te overleven.Als een Kafka Broker naar beneden gaat, dan is de Kafka Broker die een ISR (in-sync replica)kan gegevens dienen.

Kafka Failover vs. Kafka Disaster Recovery

Kafka gebruikt replicatie voor failover. Replicatie van Kafka topic log partitiesallows voor het falen van een rack of AWS availability zone (AZ). Je hebt een replicatiefactor van minstens 3 nodig om een enkele AZ storing te overleven. Je moet Mirror Maker gebruiken, een Kafka hulpprogramma dat wordt geleverd met Kafka core, voor disaster recovery. Mirror Makerrepliceert een Kafka-cluster naar een ander datacenter of AWS-regio.Ze noemen wat Mirror Maker doet mirroring niet te verwarren met replicatie.

Opmerking Er is geen harde en snelle regel over hoe je het opzetten van de Kafka cluster per se.U kunt bijvoorbeeld het hele cluster in één AZ instellen, zodat u groepen voor verbeterde netwerken en plaatsing kunt gebruiken voor een hogere doorvoer, en vervolgens Mirror Makom het cluster te spiegelen naar een andere AZ in dezelfde regio als een hot-standby.

Kafka Architecture: Kafka Zookeeper Coordination

Kafka Architecture-Kafka Zookeeper Coordination Diagram

Kafka onderwerpen architectuur

Lees verder over Kafka architectuur. Het volgende artikel behandelt Kafka onderwerpen architectuur met een bespreking van hoe partities worden gebruikt voor fail-over en parallelle verwerking.

  • Wat is Kafka?
  • Kafka Architectuur
  • Kafka Onderwerp Architectuur
  • Kafka Consument Architectuur
  • Kafka Producent Architectuur
  • Kafka Architectuur en low-level design
  • Kafka en Schema Register
  • Kafka en de Avro
  • Kafka Ecosysteem
  • Kafka vs. JMS
  • Kafka versus Kinesis
  • Kafka Tutorial: Kafka gebruiken vanaf de commandoregel
  • Kafka Tutorial: Kafka Broker Failover en Consumer Failover
  • Kafka Tutorial: een Kafka Producer example schrijven in Java
  • Kafka Tutorial: een Kafka Consumer example schrijven in Java
  • Kafka Architecture: Log Compaction
  • Kafka Architecture: Low-Level PDF Slides

over Cloudurable

we hopen dat u genoten heeft van dit artikel. Geef feedback.Cloudurable biedt Kafka training, Kafka consulting, Kafka ondersteuning en helpt bij het opzetten van Kafka clusters in AWS.

Bekijk onze nieuwe GoLang cursus. Wij bieden onsite Go Lang training die wordt geleid door instructeur.

Tweet

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.