Kafka Architecture

Tweet

om du inte är säker på vad Kafka är, se vad är Kafka?.

Kafka Architecture

Kafka består av poster, ämnen, konsumenter, producenter, mäklare, loggar, partitioner och kluster. Poster kan ha nyckel (tillval), värde och tidsstämpel. Kafka-poster är oföränderliga. Ett Kafka-ämne är en ström av poster ("/orders", "/user-signups"). Du kan tänka på ett ämne som ett fodernamn. Ett ämne har en logg som är ämnets lagring på disken. En Ämneslogg är uppdelad i partitioner och segment. Kafka Producer API används för att producera strömmar av dataposter. Kafka Consumer API används för att konsumera en ström av poster från Kafka. En mäklare är en Kafka-server som körs i ett Kafka-kluster. Kafka-mäklare bildar ett kluster. Kafka-klustret består av många Kafka-mäklare på många servrar. Mäklare hänvisar ibland till mer av ett logiskt system eller som Kafka som helhet.

Cloudurable ger Kafka utbildning, Kafka consulting, Kafka stöd och hjälper till att inrätta Kafka kluster i AWS.

Kafka Arkitektur: Ämnen, producenter och konsumenter

 Kafka Architecture-ämnen, producenter och konsumenter Diagram

Kafka använder ZooKeeper för att hantera klustret. ZooKeeper används för att samordna mäklare / kluster topologi. ZooKeeper är ett konsekvent filsystem för konfigurationsinformation. ZooKeeper får användas för ledarskap val för mäklare ämne Partitionsledare.

Kafka Architecture: Kärna Kafka

Kafka arkitektur-kärna Kafka Diagram

Kafka behöver ZooKeeper

Kafka använder Zookeeper för att göra ledarskapsval av Kafka-mäklare och Ämnespartitionspar. Kafka använder Zookeeper för att hantera service upptäckt för Kafka mäklare som bildar klustret. Zookeeper skickar ändringar av topologin till Kafka, så varje nod i klustret vet när en ny mäklare gick med, en mäklare dog, ett ämne togs bort eller ett ämne lades till etc. Zookeeper ger en synkroniserad vy av Kafka-Klusterkonfigurationen.

Kafka producent, konsument, Ämnesdetaljer

Kafka producenter skriver till ämnen. Kafka konsumenter läser från ämnen. Ett ämne är associerat med en logg som är datastruktur på disken. Kafka lägger till poster från en producent(er) till slutet av en ämneslogg. En ämneslogg består av många partitioner som är spridda över flera filer som kan spridas på flera Kafka-klusternoder. Konsumenter läser från Kafka-ämnen i deras kadens och kan välja var de är (offset) i ämnesloggen. Varje konsumentgrupp spårar offset från var de slutade läsa. Kafka distribuerar ämnesloggpartitioner på olika noder i ett kluster för hög prestanda med horisontell skalbarhet. Att sprida partitioner hjälper till att skriva data snabbt. Ämne log partitioner är Kafka sätt att shard läser och skriver till ämnet loggen. Dessutom behövs partitioner för att flera konsumenter i en konsumentgrupp ska arbeta samtidigt. Kafka replikerar partitioner till många noder för att ge failover.

Kafka arkitektur: ämne Partition, konsumentgrupp, Offset och producenter

Kafka arkitektur: Ämne Partition, konsumentgrupp, Offset och producenter Diagram

Kafka skala och hastighet

Hur kan Kafka skala om flera producenter och konsumenter läser och skriver till samma Kafka ämneslogg samtidigt? Första Kafka är snabb, Kafka skriver till filsystemet sekventiellt vilket är snabbt. På en modern snabb enhet kan Kafka enkelt skriva upp till 700 MB eller fler byte data per sekund. Kafka scales skriver och läser genom att dela ämnesloggar i partitioner. Minns ämnen loggar kan delas upp i flera partitioner som kan lagras på flera olika servrar, och dessa servrar kan använda flera diskar.Flera producenter kan skriva till olika partitioner av samma ämne. Flera konsumenter från flera konsumentgrupper kan läsa från olika partitioner effektivt.

Kafka-mäklare

ett Kafka-kluster består av flera Kafka-mäklare. Varje Kafka-mäklare har ett unikt ID (nummer).Kafka-mäklare innehåller ämnesloggpartitioner. Anslutning till en mäklare startar en klient till hela Kafka-klustret.För failover vill du börja med minst tre till fem mäklare. Ett Kafka-kluster kan ha 10, 100 eller 1 000 mäklare i ett kluster om det behövs.

Kafka Cluster, Failover, ISRs

Kafka stöder replikering för att stödja failover. Kom ihåg att Kafka använder Zookeeperför att bilda Kafka-mäklare i ett kluster och varje nod i Kafka-kluster kallas en Kafka-mäklare.Ämne partitioner kan replikeras över flera noder för failover. Ämnetbör ha en replikationsfaktor större än 1 (2 eller 3). Till exempel, om du kör i AWS, skulle du vilja kunna överleva en enda tillgänglighetzone avbrott.Om en Kafka-mäklare går ner, kan Kafka-mäklaren som är en ISR (in-sync replica)betjäna data.

Kafka Failover vs. Kafka Disaster Recovery

Kafka använder replikering för failover. Replikering av Kafka-ämnesloggpartitionertillåter fel på en rack – eller AWS-tillgänglighetszon (AZ). Du behöver en replicationfactor på minst 3 för att överleva ett enda az-fel. Du måste använda Mirror Maker, Ett Kafka-verktyg som levereras med Kafka core, för katastrofåterställning. Mirror Makerreplicerar ett Kafka-kluster till ett annat datacenter eller AWS-region.De kallar vad Mirror Maker speglar för att inte förväxlas med replikering.

det finns ingen hård och snabb regel om hur du måste ställa in Kafka-klustret i sig.Du kan till exempel ställa in hela klustret i en enda AZ så att du kan useAWS förbättrade nätverks-och placeringsgrupper för högre genomströmning och sedan använda Mirror Makerto spegla klustret till en annan AZ i samma region som en hot-standby.

Kafka arkitektur: Kafka Zookeeper samordning

 Kafka arkitektur-Kafka Zookeeper samordning Diagram

Kafka ämnen arkitektur

Fortsätt läsa om Kafka arkitektur. Nästa artikel täcker Kafka ämnen Architecturewith en diskussion om hur partitioner används för fail-over och parallell bearbetning.

  • Vad är Kafka?
  • Kafka arkitektur
  • Kafka ämne arkitektur
  • Kafka konsument arkitektur
  • Kafka producent arkitektur
  • Kafka arkitektur och låg nivå design
  • Kafka och Schema Registry
  • Kafka och Avro
  • Kafka ekosystem
  • Kafka vs. JMS
  • Kafka kontra kinesis
  • Kafka handledning: Använda Kafka från kommandoraden
  • Kafka handledning: Kafka mäklare Failover och konsument Failover
  • Kafka handledning
  • Kafka handledning: skriva en Kafka producent exempel i Java
  • Kafka handledning: skriva en Kafka konsument exempel i Java
  • Kafka arkitektur: Log komprimering
  • Kafka-arkitektur: PDF-bilder på låg nivå

om Cloudurable

vi hoppas att du gillade den här artikeln. Vänligen ge feedback.Cloudurable ger Kafka utbildning, Kafka consulting, Kafka stöd och hjälper till att inrätta Kafka kluster i AWS.

kolla in vår nya GoLang kurs. Vi erbjuder plats Go Lang utbildning som är instruktör ledda.

Tweet

Lämna ett svar

Din e-postadress kommer inte publiceras.