Teknologian jakaminen

Kafkan peruskomponenttikaavion vähennys

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Controller Broker

Lisää kuvan kuvaus tähän

Kafka-klusterissa on Controller Broker, joka vastaa metatietojen hallinnasta ja koordinoinnista.

Kafka käyttää Zookeeperiä klusterin metatietojen tallennus- ja hallintatyökaluna. Zookeeper tallentaa klusterin tilatiedot, mukaan lukien kaikki aihe-, osio-, johtaja- ja replikatiedot jne.

Kun klusterin tila muuttuu, Controller Broker kirjoittaa muutostiedot Zookeeperiin.

Kun nykyinen Controller Broker epäonnistuu, muut Kafka-klusterin välittäjät havaitsevat tämän tilanteen ja järjestävät vaalit Zookeeperin kautta.

Kun välittäjä on valittu onnistuneesti uudeksi Controller Brokeriksi, se lukee Zookeeperin uusimmat klusterin metatiedot.

Takuumekanismi

  • Pysyvät metatiedot: Zookeeper tallentaa jatkuvasti klusterin metatiedot varmistaen, että uusimmat tilatiedot voidaan saada milloin tahansa.
  • sydämenlyöntimekanismi: Yhteys Brokerin ja Zookeeperin välillä ylläpidetään sykemekanismin kautta Controller Broker -vikojen havaitsemiseksi nopeasti.
  • vaalimekanismi: Zookeeperin valintamekanismin avulla uusi Controller Broker voidaan valita nopeasti ja metatiedot voidaan synkronoida Zookeeperista.

2. Komponenttiarkkitehtuuri

Lisää kuvan kuvaus tähän

1. Lokinhallinta

LogManagerPäävastuussa Kafka-tukkien (tukkien) varastoinnin ja noudon hallinnasta.

Esimerkiksi: tuottaja lähettää viestin Partition0:n Leader Broker1:lle.LogManagerKirjoita viesti Partition0:n lokitiedostoon Broker1:ssä.

2. Replikoinnin hallinta

ReplicationManagerPäävastuussa osion tietojen replikoinnin ja synkronoinnin hallinnasta.

Synkronointi kunkin osion johtajan ja seuraajan välillä suoritetaan itsenäisesti. Toisin sanoen jokaisella osiolla on oma synkronointiprosessinsa, eikä se ole riippuvainen muista osioista.

Vaikka kunkin osion synkronointiprosessi on itsenäinen, jokainen välittäjä aloittaa vastaavat replikointisäikeet jokaiselle hallitsemalleen osiolle (olipa sitten johtaja tai seuraaja), ja nämä säikeet vastaavat tiettyjen synkronointitehtävien käsittelystä.

esimerkiksi:ReplicationManagerVälitä äskettäin kirjoitetut viestit Broker1:ssä Partition0:n seuraajille Broker2 ja Broker3.ReplicationManagerBroker1:ltä vastaanotetut replikointipyynnöt käsitellään Broker2:ssa ja Broker3:ssa ja kirjoitetaan viestejä vastaaviin lokitiedostoihinsa.

3. SocketServer

SocketServer Se on Kafka Brokerin komponentti ja vastaa verkkoyhteyksien ja I/O-toimintojen käsittelystä. Se on vastuussa asiakkaiden ja muiden välittäjien yhteyspyyntöjen hyväksymisestä ja säikeen osoittamisesta kullekin yhteydelle käsittelyä varten.

4. Verkkopalvelin

NetworkServer Se on keskeinen osa Kafkan verkkoviestintäkehystä ja vastaa verkkopyyntöjen hallinnasta ja ajoittamisesta. Se käyttää NIO:ta (estoamaton I/O) käsittelemään erittäin samanaikaisia ​​verkkoyhteyksiä.

5. ZKClient

Komponentti, joka kommunikoi Zookeeperin kanssa.