2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ZooKeeper on erittäin saatavilla oleva hajautettu koordinointipalvelu, jota käytetään laajasti hajautetuissa järjestelmissä ratkaisemaan hajautettujen järjestelmien johdonmukaisuusongelmat. Seuraavassa esitellään yksityiskohtaisesti ZooKeeperin taustalla olevat periaatteet, mukaan lukien sen arkkitehtuuri, tietomalli, ydinmekanismi ja johdonmukaisuusprotokolla.
ZooKeeper ottaa käyttöön isäntä-orja-arkkitehtuurin, joka koostuu yleensä Leaderista ja useista seuraajista. On myös Observer-solmuja ei-äänestävänä solmuna, joka jakaa lukupyyntöjen paineen.
ZooKeeper tallentaa tiedot tiedostojärjestelmän kaltaiseen puurakenteeseen, ja jokaista solmua kutsutaan znodeksi.
Kunkin asiakkaan ja ZooKeeper-klusterin välille muodostetaan istunto yhteyden tilan ylläpitämiseksi ja tilapäisten solmujen hallitsemiseksi. ZooKeeper tunnistaa asiakkaan yhteyden tilan sykemekanismin kautta. Jos sykettä ei vastaanoteta tietyn ajan kuluessa, istunto katsotaan katkenneeksi.
Jokaisen solmun tietojen johdonmukaisuuden varmistamiseksi ZooKeeper ottaa käyttöön tietojen synkronointimekanismin. Kun Leader-solmu käsittelee kirjoituspyynnön, se lähettää muutostoiminnon kaikille seuraajasolmuille. Seuraajasolmu vahvistaa muutostoiminnon hyväksymisen jälkeen, ja Leader-solmu päättää lopulta, onko muutostoiminto onnistunut.
ZooKeeper tukee Watch-mekanismia. Asiakas voi rekisteröidä Watchin määritetylle znode-solmulle, kun ZooKeeper ilmoittaa asiasta asiakkaalle.
ZooKeeper käyttää johdonmukaisuusprotokollaa nimeltä ZAB (Zookeeper Atomic Broadcast) varmistaakseen tietojen johdonmukaisuuden. ZAB koostuu kahdesta vaiheesta: vaalivaiheesta ja lähetysvaiheesta.
Kun ZooKeeper-klusteri käynnistyy tai Leader-solmu epäonnistuu, uuden johtajan määrittämiseksi vaaditaan valinta. Vaalivaihe jakautuu pääasiassa seuraaviin vaiheisiin:
Kun Leader on määritetty, lähetysvaihe siirtyy Leader on vastuussa asiakkaan kirjoituspyynnön käsittelystä ja muutosoperaation lähettämisestä kaikille seuraajasolmuille. Tarkat vaiheet ovat seuraavat:
Seuraavassa on yksinkertainen esimerkki ZooKeeperistä, joka näyttää kuinka luodaan solmuja, luetaan solmutietoja ja rekisteröidään Watch.
olla olemassa pom.xml
Ota käyttöön ZooKeeper-asiakasriippuvuus.
xmlKopioi koodi