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

Yhteenveto

  • Hajautettu sovellus on sovellus, joka voi toimia useissa jรคrjestelmissรค verkossa
  • Apache Zookeeper on avoimen lรคhdekoodin hajautettu koordinointipalvelu, jonka avulla voit hallita suurta joukkoa isรคntiรค
  • Se mahdollistaa molemminpuolisen poissulkemisen ja yhteistyรถn palvelinprosessien vรคlillรค
  • Palvelin, Asiakas, Johtaja, Seuraaja, Kokonaisuus/Cluster, ZooKeeper WebUI ovat tรคrkeitรค elรคintarhanhoitajakomponentteja
  • Kolme tyyppiรค Znodeja ovat pysyvyys, lyhytaikainen ja perรคkkรคinen
  • ZDM-kello on kertaluonteinen laukaisu, joka lรคhetetรครคn kellon asettaneelle asiakkaalle. Se tapahtui, kun kellon tiedot muuttuvat
  • Zookeeper Hadoop kรคyttรครค ACL:iรค hallitakseen pรครคsyรค zsolmuihinsa
  • Kokoonpanon hallinta, Palvelujen nimeรคminen, johtajan valinta, Viestien jonottaminen, Ilmoitusjรคrjestelmรคn hallinta, Synchronisaatio, Jaettu Cluster Hallinto jne.
  • Yahoo, Facebook, eBay, Twitter, Netflix ovat joitakin tunnettuja yrityksiรค, jotka kรคyttรคvรคt zookeeperiรค
  • Tyรถkalun suurin haittapuoli on se, ettรค uusia Zookeeper-palvelimia voi tapahtua menetys

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