Apache ZooKeeper -opetusohjelma

โšก ร„lykรคs yhteenveto

Apache ZooKeeper -opetusohjelmassa esitellรครคn keskitetty palvelu hajautettujen jรคrjestelmien konfigurointiin, nimeรคmiseen, synkronointiin ja ryhmรคpalveluihin. LessOpinnot kattavat arkkitehtuurin, tietomallin, kellot, kokonaisuudet, sovellukset, edut ja haitat.

  • ๐Ÿ›๏ธ Koordinointipalvelu: ZooKeeper toimii luotettavana selkรคrankana hajautettujen sovellusten koordinoinnille ja konsensukselle.
  • ๐Ÿ—‚๏ธ ZNode-puu: Tiedot tallennetaan hierarkkiseen ZNode-nimiavaruuteen, joka muistuttaa tiedostojรคrjestelmรครค.
  • ๐Ÿ‘€ kellot: Asiakkaat tilaavat ZNode-tapahtumia ja saavat ilmoituksia, kun tiedot muuttuvat tai aliobjekteja ilmestyy.
  • ๐Ÿงฉ Yhtyeen pรครคtรถsvaltaisuus: Parittomien palvelimien kokonaisuus tarjoaa vikasietoisuuden ja enemmistรถpohjaiset kirjoitukset.
  • โšก Kรคytรค koteloita: Valtuutusjohtajan valinta, hajautetut lukot, palvelun lรถytรคminen ja konfiguroinnin hallinta.
  • ๐Ÿค– AI Cluster Ohje: Tekoรคlyavustajat selittรคvรคt ZooKeeper-virhetiloja ja luovat Kubernetes-ystรคvรคllisiรค kokonaisuuksia.

ZooKeeper-opetusohjelma

Mikรค on hajautettu jรคrjestelmรค?

Hajautettu sovellus on sovellus, joka voi toimia useissa jรคrjestelmissรค verkossa. Se toimii samanaikaisesti koordinoimalla itsensรค suorittamaan tietyn tehtรคvรคn. Nรคiden tehtรคvien suorittaminen voi kestรครค useita tunteja millรค tahansa hajauttamattomalla sovelluksella.

Mikรค on Zookeeper?

Apache Zookeeper on avoimen lรคhdekoodin hajautettu koordinointipalvelu, joka auttaa hallitsemaan suurta joukkoa isรคntiรค. Hallinta ja koordinointi hajautetussa ympรคristรถssรค on hankalaa. Zookeeper automatisoi tรคmรคn prosessin ja antaa kehittรคjille mahdollisuuden keskittyรค ohjelmistoominaisuuksien rakentamiseen sen sijaan, ettรค he huolehtisivat sen hajautetusta luonteesta.

Zookeeper auttaa yllรคpitรคmรครคn konfiguraatiotietoja, nimeรคmistรค ja ryhmรคpalveluita hajautetuille sovelluksille. Se toteuttaa klusterissa erilaisia โ€‹โ€‹protokollia, jotta sovelluksen ei tulisi toteuttaa itseรครคn. Se tarjoaa yhden yhtenรคisen nรคkymรคn useista koneista.

Miksi Apache Zookeeper?

Tรคssรค on tรคrkeitรค syitรค Zookeeperin suosioon:

  • Se mahdollistaa molemminpuolisen poissulkemisen ja yhteistyรถn palvelinprosessien vรคlillรค
  • Se varmistaa, ettรค sovelluksesi toimii johdonmukaisesti.
  • Kauppaprosessia ei koskaan suoriteta osittain loppuun. Se on joko onnistunut tai epรคonnistunut. Hajautettua tilaa voidaan pitรครค yllรค, mutta se ei ole koskaan vรครคrin
  • Riippumatta palvelimesta, johon se muodostaa yhteyden, asiakas voi nรคhdรค saman nรคkymรคn palvelusta
  • Auttaa sinua koodaamaan tiedot tiettyjen sรครคntรถjen mukaisesti
  • Se auttaa yllรคpitรคmรครคn standardihierarkkista nimiavaruutta, joka on samanlainen kuin tiedostot ja hakemistot
  • Tietokoneet, jotka toimivat yhtenรค jรคrjestelmรคnรค, joka voidaan yhdistรครค paikallisesti tai maantieteellisesti
  • Se mahdollistaa solmun liittymisen/poistumisen klusteriin ja solmun tilan reaaliajassa
  • Voit parantaa suorituskykyรค ottamalla kรคyttรถรถn enemmรคn koneita
  • Sen avulla voit valita solmun johtajaksi koordinoinnin parantamiseksi
  • ZooKeeper toimii nopeasti tyรถkuormilla, joissa tietojen lukeminen on yleisempรครค kuin kirjoittaminen

ZooKeeper Architecture: Miten se toimii?

Tรคssรค lyhyt selostus aiheesta Apache Zookeeper-arkkitehtuuri:

  • Zookeeper seuraa asiakaspalvelinta Archirakenne
  • Kaikki jรคrjestelmรคt tallentavat kopion tiedoista
  • Johtajat valitaan kรคynnistyksen yhteydessรค
ArchiZooKeeperin rakenne
ArchiZooKeeperin rakenne

Server: Palvelin lรคhettรครค kuittauksen, kun mikรค tahansa asiakas muodostaa yhteyden. Jos yhdistetyltรค palvelimelta ei vastata, asiakas uudelleenohjaa viestin automaattisesti toiselle palvelimelle.

Asiakas: Asiakas on yksi hajautetun sovellusklusterin solmuista. Se auttaa sinua saamaan tietoja palvelimelta. Jokainen asiakas lรคhettรครค palvelimelle sรครคnnรถllisin vรคliajoin viestin, joka auttaa palvelinta tietรคmรครคn, ettรค asiakas on elossa.

Johtaja: Yksi palvelimista on nimetty johtajaksi. Se antaa asiakkaille kaikki tiedot sekรค kuittauksen, ettรค palvelin on elossa. Se suorittaa automaattisen palautuksen, jos jokin yhdistetyistรค solmuista epรคonnistuu.

Seuraaja: Palvelinsolmua, joka seuraa johtajan ohjeita, kutsutaan seuraajaksi.

  • Asiakkaan lukupyynnรถt kรคsittelee vastaavasti yhdistetty Zookeeper-palvelin
  • Asiakkaan kirjoituspyynnรถt kรคsittelee Zookeeper-johtaja.

Yhtye/Cluster: Zookeeper-palvelinryhmรค, jota kutsutaan ensembleksi tai a Cluster. Voit kรคyttรครค ZooKeeper-infrastruktuuria klusteritilassa saadaksesi jรคrjestelmรคn optimaaliseen arvoon, kun kรคytรคt Apachea.

ZooKeeper WebUI: Jos haluat tyรถskennellรค ZooKeeper-resurssienhallinnan kanssa, sinun on kรคytettรคvรค WebUI. Se mahdollistaa ZooKeeperin kanssa tyรถskentelyn web-kรคyttรถliittymรคn avulla komentorivin kรคytรถn sijaan. Se tarjoaa nopean ja tehokkaan viestinnรคn ZooKeeper-sovelluksen kanssa.

Zookeeper-tietomalli (ZDM)

Tรคssรค ZooKeeper-opetusohjelmassa opitaan Zookeeper-tietomallista. Alla oleva kuva selittรครค Apache Zookeeper -tietomallin:

Zookeeper-tietomalli
Elรคintarhanhoitajan tietomalli
  • Elรคinhoitajan tietomalli noudattaa hierarkkista nimiavaruutta, jossa jokaista solmua kutsutaan ZSolmuksi. Solmu on jรคrjestelmรค, jossa klusteri toimii.
  • Jokaisella ZNodella on dataa. Sillรค voi olla lapsia tai ei
  • ZNode-polut:
    • Kanoninen, kauttaviivalla erotettu ja ehdoton
    • ร„lรค kรคytรค suhteellisia viittauksia
    • Nimet voivat sisรคltรครค Unicode-merkkejรค
  • ZNode yllรคpitรครค tilastorakennetta ja versionumeroa datamuutoksia varten.

Zookeeper-solmutyypit

Znodeja on kolme tyyppiรค:

Sitkeys znode: Tรคmรคn tyyppinen znode on elossa senkin jรคlkeen, kun asiakas, joka loi kyseisen znoden, on katkaistu. Oletuksena zookeeperissa kaikki solmut ovat pysyviรค, jos sitรค ei ole mรครคritetty.

lyhytaikainen znode: Tรคmรคn tyyppiset elรคintarhanhoitajat znode ovat elossa, kunnes asiakas on elossa. Siksi, kun asiakas saa yhteyden elรคintarhanhoitajaan, se myรถs poistetaan. Lisรคksi lyhytkestoiset solmut eivรคt saa saada lapsia.

Perรคkkรคinen znode: Perรคkkรคiset zsolmut voivat olla joko lyhytaikaisia โ€‹โ€‹tai pysyviรค. Joten kun uusi znode luodaan perรคkkรคiseksi zsolmuksi. Voit mรครคrittรครค znode-polun liittรคmรคllรค alkuperรคiseen nimeen 10-numeroisen jรคrjestysnumeron.

ZDM - kellot

Zookeeper, kellotapahtuma on kertaluonteinen laukaisu, joka lรคhetetรครคn kellon asettaneelle asiakkaalle. Se tapahtui, kun kellon tiedot muuttuvat. ZDM-kellon avulla asiakkaat voivat saada ilmoituksia, kun znode muuttuu. ZDM-lukutoiminnoissa, kuten getData(), getChidleren(), on olemassa mahdollisuus asettaa kello.

Kellot tilataan, kellotapahtumien jรคrjestys vastaa pรคivitysten jรคrjestystรค. Asiakas voi nรคhdรค znode:n tarkkailutapahtuman ennen kuin nรคkee uudet tiedot, jotka vastaavat kyseistรค znodea.

ZDM - Kulunvalvontaluettelo

Zookeeper kรคyttรครค ACL:iรค hallitakseen pรครคsyรค zsolmuihinsa. ACL koostuu parista (kaavio: tunnus, lupa)

Sisรครคnrakennetut ACL-mallit:

maailma: jolla on yksi tunnus, kenellรค tahansa

auth: ร„lรค kรคytรค mitรครคn tunnusta, se edustaa mitรค tahansa todennettua kรคyttรคjรครค

digest: kรคytรค kรคyttรคjรคtunnusta: salasanaa

isรคntรค: Voit kรคyttรครค asiakkaan isรคntรคnimeรค ACL-tunnuksena

IP: kรคytรค asiakkaan isรคnnรคn IP-osoitetta ACL-tunnuksena

ACL-oikeudet:

  • LUODA
  • LUE LISร„ร„
  • KIRJOITA
  • POISTA
  • ADMIN

Esim (IP: 192.168.0.0/16, LUE)

ZKS โ€“ istunnon tilat ja kรคyttรถikรค

ZKS โ€“ istunnon tilat
ZKS โ€“ istunnon tilat
  • Ennen pyynnรถn suorittamista on tรคrkeรครค, ettรค asiakkaan on muodostettava istunto palvelun kanssa
  • Kaikki toimintoasiakkaat, jotka lรคhetetรครคn palveluun, liitetรครคn automaattisesti istuntoon
  • Asiakas voi muodostaa yhteyden mihin tahansa klusterin palvelimeen. Mutta se muodostaa yhteyden vain yhteen palvelimeen
  • Istunto tarjoaa "tilaustakuut". Istunnon pyynnรถt suoritetaan FIFO-jรคrjestyksessรค
  • Istunnon pรครคtilat ovat 1) Yhdistetรครคn, 2) Yhdistetty 3) Suljettu 4) Ei yhteyttรค.

Kuinka asentaa ZooKeeper

Vaihe 1) Napsauta Jatka tilaamaan
Siirry tรคhรคn linkkiรค ja napsauta "Jatka tilaamaan"

Asenna ZooKeeper

Vaihe 2) Hyvรคksy ehdot ja ehdot
Seuraavalla sivulla Hyvรคksy kรคyttรถoikeussopimus

Asenna ZooKeeper

Vaihe 3) Kiitos viesti nรคkyy
Nรคet seuraavan viestin

Asenna ZooKeeper

Vaihe 4) Napsauta Jatka mรครคrittรคmistรค
Pรคivitรค sivu 5 minuutin kuluttua ja jatka mรครคritysten tekemiseen

Asenna ZooKeeper

Vaihe 5) Napsauta "Jatka kรคynnistรคmรครคn"
Seuraavassa nรคytรถssรค kรคynnistรค ZooKeeper

Asenna ZooKeeper

Vaihe 6) Onneksi!
Olet valmis!

Apache ZooKeeper -sovellukset

Apache Zookeeperiรค kรคytetรครคn seuraaviin tarkoituksiin:

  • Kokoonpanon hallinta
  • Nimeรคmispalvelut
  • Johtajan valinta
  • Viestien jonottaminen
  • Ilmoitusjรคrjestelmรคn hallinta
  • Synchronisointi
  • hajautettu Cluster videonhallinta

Zookeeperia kรคyttรคvรคt yritykset

  • Yahoo
  • Facebook
  • eBay
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

Zookeeperin kรคytรถn haitat

  • Tietojen menetys voi tapahtua, jos lisรครคt uusia Zookeeper-palvelimia
  • Kรคyttรคjille ei sallita siirtoa
  • Ei tarjoa tukea telineen sijoittamiselle ja tietoisuudelle
  • Zookeeper ei salli sinun vรคhentรครค koteloiden mรครคrรครค vahingossa tapahtuvan tietojen katoamisen estรคmiseksi
  • Et voi vaihtaa palvelua isรคntรคverkkoon ilman tรคyttรค uudelleenasennusta, kun palvelu on otettu kรคyttรถรถn virtuaalisessa verkossa
  • Palvelu ei tue volyymivaatimusten muuttamista, kun ensimmรคinen kรคyttรถรถnotto on ohi
  • Mukana on suuri mรครคrรค solmuja, joten vikapisteitรค voi olla useampi kuin yksi
  • Viestit voivat kadota viestintรคverkkoon, mikรค vaatii erikoisohjelmiston niiden palauttamiseksi

UKK

ZooKeeper koordinoi hajautettuja sovelluksia tarjoamalla yhdenmukaisia โ€‹โ€‹konfigurointi-, nimeรคmis-, synkronointi- ja johtajan valintapalveluita. Se poistaa nรคiden primitiivien rakentamisen alusta alkaen jokaisessa jรคrjestelmรคssรค.

Tekoรคlytyรถkalut luovat ZooKeeper-konfiguraation, ehdottavat ensemble-kokoja ja analysoivat ruok- ja mntr-mittareita. Ne merkitsevรคt aivojen jakautumisen riskejรค ja ehdottavat terveystarkastusskriptejรค tuotantoklustereille.

Kyllรค. Tekoรคlyavustajat jรคsentรคvรคt zookeeper.out-lokeja, tunnistavat koorumin menetyskuvioita ja suosittelevat istunnon aikakatkaisun hienosรครคtรถรค. He myรถs luonnostelevat runbookeja jatkuvaa uudelleenkรคynnistystรค ja tilannevedosten palautusta varten.

Ensemble on ryhmรค yhdessรค toimivia ZooKeeper-palvelimia. Kirjoitustyรถt vaativat enemmistรถpรครคtรถsvallan, joten useimmat tuotantoympรคristรถt kรคyttรคvรคt paritonta mรครคrรครค palvelinta, kuten kolmea, viittรค tai seitsemรครค.

ZNode on ZooKeeper-nimiavaruuden solmu, joka tallentaa pieniรค mรครคriรค dataa ja metadataa. ZNodet voivat olla pysyviรค, lyhytaikaisia โ€‹โ€‹tai perรคkkรคisiรค, mikรค mahdollistaa lukitukset ja johtajan valintamallit.

Kafka 4.0 ja KRaft-tila poistavat ZooKeeper-ominaisuuden ja korvaavat sen sisรคisellรค Raft-pohjaisella ohjainkoorumilla. Uudet kรคyttรถรถnotot kรคyttรคvรคt KRaftia, kun taas vanhemmat klusterit voivat jatkaa ZooKeeper-ominaisuutta turvallisesti.

ZooKeeper tukee SASL-todennusta, Kerberosta, TLS-siirtoa ja ACL-pohjaista valtuutusta. Ota nรคmรค ominaisuudet kรคyttรถรถn ja segmentoi kokonaisuudet vuokraajakohtaisesti eristรคytymisen yllรคpitรคmiseksi jaetuissa ympรคristรถissรค.

Aloittelijat oppivat datamallin ja komentoriviltรค liittymisen viikossa. OperaTuotantokokonaisuuden koottaminen tilannekuvien, valvonnan ja Kerberoksen avulla vie tyypillisesti yhdestรค kolmeen kuukautta kรคytรคnnรถn kokemusta.

Tiivistรค tรคmรค viesti seuraavasti: