Apache ZooKeeperi õpetus

⚡ Nutikas kokkuvõte

Apache ZooKeeperi õpetus tutvustab tsentraliseeritud teenust hajussüsteemide konfigureerimiseks, nimetamiseks, sünkroniseerimiseks ja grupiteenusteks. LessNeed hõlmavad arhitektuuri, andmemudelit, jälgimisi, ansambleid, rakendusi, eeliseid ja puudusi.

  • 🏛️ Koordineerimisteenus: ZooKeeper toimib usaldusväärse tugisambana hajutatud rakenduste koordineerimiseks ja konsensuse saavutamiseks.
  • 🗂️ ZNode puu: Andmeid salvestatakse ZNode'ide hierarhilisse nimeruumi, mis meenutab failisüsteemi.
  • ???? Kellad: Kliendid tellivad ZNode'i sündmused ja saavad tagasihelistusi, kui andmed muutuvad või ilmuvad lapsed.
  • 🧩 Ansambli kvoorum: Paaritu arvuga serverite ansambel pakub rikketaluvust ja enamuspõhist kirjutamist.
  • Kasutusjuhtumid: Volituste juhi valimine, hajutatud lukud, teenuste avastamine ja konfiguratsioonihaldus.
  • 🤖 AI Cluster Abi: Tehisintellekti assistendid selgitavad ZooKeeperi rikkerežiime ja genereerivad Kubernetes-sõbralikke ansambli seadistusi.

ZooKeeperi õpetus

Mis on hajutatud süsteem?

Hajutatud rakendus on rakendus, mis võib töötada mitmes võrgus olevas süsteemis. See töötab samaaegselt, koordineerides ennast teatud ülesande täitmiseks. Nende ülesannete täitmiseks võib mis tahes levitamata rakendusega kuluda palju tunde.

Mis on Zookeeper?

Apache loomaaiapidaja on avatud lähtekoodiga hajutatud koordineerimisteenus, mis aitab hallata suurt hulka hoste. Haldamine ja koordineerimine hajutatud keskkonnas on keeruline. Zookeeper automatiseerib selle protsessi ja võimaldab arendajatel keskenduda tarkvara funktsioonide loomisele, mitte muretseda selle hajutatud olemuse pärast.

Zookeeper aitab teil hallata hajutatud rakenduste konfiguratsiooniteavet, nimetamist ja rühmateenuseid. See rakendab klastris erinevaid protokolle, nii et rakendus ei peaks ise rakendama. See annab ühe sidusa ülevaate mitmest masinast.

Miks Apache Zookeeper?

Siin on Zookeeperi populaarsuse olulised põhjused:

  • See võimaldab serveriprotsesside vastastikust välistamist ja koostööd
  • See tagab, et teie rakendus töötab järjepidevalt.
  • Tehinguprotsess ei ole kunagi osaliselt lõpule viidud. Sellele antakse staatus Edu või ebaõnnestumine. Jaotatud olekut saab üleval hoida, kuid see pole kunagi vale
  • Sõltumata serverist, millega ta ühenduse loob, näeb klient teenusest sama vaadet
  • Aitab teil andmeid kodeerida vastavalt konkreetsetele reeglitele
  • See aitab säilitada standardset hierarhilist nimeruumi, mis sarnaneb failide ja kataloogidega
  • Arvutid, mis töötavad ühtse süsteemina, mida saab lokaalselt või geograafiliselt ühendada
  • See võimaldab reaalajas liituda / lahkuda sõlmest klastrisse ja sõlme olekut
  • Saate jõudlust suurendada, juurutades rohkem masinaid
  • See võimaldab teil valida sõlme juhiks paremaks koordineerimiseks
  • ZooKeeper töötab kiiresti töökoormustega, kus andmete lugemine on tavalisem kui kirjutamine

Loomaaiatalitaja ArchiTektuur: kuidas see toimib?

Siin on lühike selgitus selle kohta Apache Loomaaiapidaja arhitektuur:

  • Loomaaiapidaja järgib klient-serverit Architektuur
  • Kõik süsteemid salvestavad andmete koopiad
  • Juhid valitakse käivitamisel
ArchiZooKeeperi teostus
ArchiZooKeeperi teostus

Server: Server saadab kinnituse, kui mis tahes klient ühenduse loob. Juhul, kui ühendatud server ei vasta, suunab klient sõnumi automaatselt ümber teise serverisse.

klient: Klient on hajutatud rakenduste klastri üks sõlmedest. See aitab teil serverist teabele juurde pääseda. Iga klient saadab serverile regulaarsete ajavahemike järel sõnumi, mis aitab serveril teada, et klient on elus.

Leader: Üks serveritest on määratud juhiks. See annab klientidele kogu teabe ja ka kinnituse, et server on elus. See teostab automaatse taastamise, kui mõni ühendatud sõlmedest ebaõnnestub.

Jälgija: Serverisõlme, mis järgib juhi juhiseid, nimetatakse järgijaks.

  • Kliendi lugemispäringuid käsitleb vastavalt ühendatud Zookeeperi server
  • Kliendi kirjataotlustega tegeleb loomaaiapidaja juht.

ansambel/Cluster: Zookeeperi serverite rühm, mida nimetatakse ansambliks või a Cluster. Saate kasutada ZooKeeperi infrastruktuuri klastrirežiimis, et Apache'i käitamise ajal oleks süsteem optimaalses väärtuses.

ZooKeeper WebUI: Kui soovite töötada ZooKeeperi ressursihaldusega, peate kasutama WebUI. See võimaldab ZooKeeperiga töötada käsurea asemel veebikasutajaliidese abil. See pakub kiiret ja tõhusat suhtlust rakendusega ZooKeeper.

Loomaaiapidaja andmemudel (ZDM)

Nüüd selles ZooKeeperi õpetuses tutvume Zookeeperi andmemudeliga. Allolev joonis selgitab Apache Zookeeperi andmemudelit:

Loomaaiapidaja andmemudel
Loomaaiapidaja andmemudel
  • Loomaaiapidaja andmemudel järgib hierarhilist nimeruumi, kus iga sõlme nimetatakse ZNode'iks. Sõlm on süsteem, kus klaster töötab.
  • Igal ZNode'il on andmed. Sellel võib olla lapsi või mitte
  • ZNode teed:
    • Kanooniline, kaldkriipsuga eraldatud ja absoluutne
    • Ärge kasutage suhtelisi viiteid
    • Nimed võivad sisaldada Unicode'i märke
  • ZNode säilitab andmete muudatuste jaoks statistilise struktuuri ja versiooninumbri.

Loomaaiapidaja sõlmede tüübid

Znode on kolme tüüpi:

Püsivus znode: seda tüüpi znode on elus isegi pärast seda, kui klient, kes selle konkreetse znode lõi, on lahti ühendatud. Vaikimisi on zookeeperis kõik sõlmed püsivad, kui see pole määratud.

Lühiajaline znode: seda tüüpi loomaaiapidajad znode on elus kuni klient on elus. Seega, kui klient saab loomaaiapidajaga ühenduse katkemise, kustutatakse see ka. Pealegi ei ole lühiajalistel sõlmedel lubatud lapsi saada.

Järjestikune znode: järjestikused sõlmpunktid võivad olla kas lühiajalised või püsivad. Nii et kui uus sõlm luuakse järjestikuse znodena. Saate määrata znode tee, lisades algsele nimele 10-kohalise järjekorranumbri.

ZDM - kellad

Zookeeper, kellasündmus on ühekordne päästik, mis saadetakse kella seadnud kliendile. See ilmnes siis, kui selle kella andmed muutuvad. ZDM-i käekell võimaldab klientidel saada märguandeid, kui znode muutub. Olemasolevatel ZDM-i lugemistoimingutel, nagu getData(), getChidleren(), on kella seadistamise võimalus.

Kellad on tellitud, kellasündmuste järjekord vastab uuenduste järjekorrale. Klient näeb znode jälgimissündmust enne, kui näeb uusi andmeid, mis vastavad sellele znode'ile.

ZDM - juurdepääsukontrolli loend

Zookeeper kasutab oma znodedele juurdepääsu kontrollimiseks ACL-e. ACL koosneb paarist (skeem: ID, luba)

Sisseehitatud ACL-skeemid:

maailm: kellel on üks ID, igaüks

auth: ei kasuta ühtegi ID-d, see esindab mis tahes autentitud kasutajat

digest: kasutage kasutajanime: parool

host: võimaldab kasutada kliendi hostinime ACL-i ID-identiteedina

IP: kasutage ACL-i ID-identiteedina kliendi hosti IP-aadressi

ACL-i load:

  • LUUA
  • LUGEGE
  • KIRJUTA
  • Kustuta
  • ADMIN

Nt (IP: 192.168.0.0/16, LOE)

ZKS – seansi olekud ja eluiga

ZKS – seansi olekud
ZKS – seansi olekud
  • Enne mis tahes päringu täitmist on oluline, et klient looks teenusega seansi
  • Kõik toimingud, mille kliendid teenusesse saadetakse, seostatakse automaatselt seansiga
  • Klient võib ühenduse luua klastri mis tahes serveriga. Kuid see loob ühenduse ainult ühe serveriga
  • Seanss annab "tellimuse garantiid". Seansi päringud täidetakse FIFO järjekorras
  • Seansi peamised olekud on 1) Ühendab, 2) Ühendatud 3) Suletud 4) Pole ühendatud.

Kuidas installida ZooKeeper

Step 1) Klõpsake nuppu Jätka tellimist
Mine selle juurde link ja klõpsake nuppu "Jätka tellimiseks"

Installige ZooKeeper

Step 2) Nõustuge tingimustega
Järgmisel lehel nõustuge litsentsilepinguga

Installige ZooKeeper

Step 3) Kuvatud tänusõnum
Näete järgmist teadet

Installige ZooKeeper

Step 4) Klõpsake nuppu Jätka konfigureerimist
Värskendage lehte 5 minuti pärast ja jätkake konfigureerimisega

Installige ZooKeeper

Step 5) Klõpsake nuppu "Jätka käivitamiseks"
Järgmisel ekraanil käivitage ZooKeeper

Installige ZooKeeper

Step 6) Õnnitleme!
Sa oled valmis!

Apache ZooKeeperi rakendused

Apache Zookeeperit kasutatakse järgmistel eesmärkidel:

  • Konfiguratsiooni haldamine
  • Nimede andmise teenused
  • Juhi valimine
  • Sõnumite järjekorda seadmine
  • Teavitussüsteemi haldamine
  • Synchroniseerimine
  • Levitatakse Cluster juhtimine

Zookeeperit kasutavad ettevõtted

  • Yahoo
  • Facebook
  • eBay
  • puperdama
  • Netflix
  • Zynga
  • Nutanix

Zookeeperi kasutamise puudused

  • Kui lisate uusi Zookeeperi servereid, võib tekkida andmete kadu
  • Kasutajatele migratsioon pole lubatud
  • Ei paku tuge riiuli paigutuse ja teadlikkuse tõstmiseks
  • Zookeeper ei luba kaunade arvu vähendada, et vältida juhuslikku andmete kadumist
  • Te ei saa teenust hostvõrgule lülitada ilma täieliku uuesti installimiseta, kui teenus on juurutatud virtuaalses võrgus
  • Teenus ei toeta mahunõuete muutmist pärast esialgse juurutamise lõppu
  • Kaasatud on suur arv sõlme, nii et rikkepunkte võib olla rohkem kui üks
  • Sõnumid võivad sidevõrku kaduda, mille taastamiseks on vaja spetsiaalset tarkvara

KKK

ZooKeeper koordineerib hajusrakendusi, pakkudes järjepidevat konfigureerimist, nimetamist, sünkroniseerimist ja liidri valimise teenuseid. See eemaldab iga süsteemi primitiivide nullist loomise koorma.

Tehisintellekti tööriistad genereerivad ZooKeeperi konfiguratsiooni, pakuvad välja ansambli suuruse ning analüüsivad ruoki ja mntr mõõdikuid. Need märgistavad lõhestunud aju riske ja pakuvad välja tervisekontrolli skripte tootmisklastritele.

Jah. Tehisintellekti assistendid analüüsivad zookeeper.out logisid, tuvastavad kvoorumi kadumise mustreid ja soovitavad seansi ajalõpu häälestamist. Samuti koostavad nad jooksvate taaskäivituste ja hetktõmmise taastamise jaoks käitusraamatuid.

Ansambel on koos töötav ZooKeeperi serverite rühm. Kirjutamiseks on vaja enamuskvoorumit, seega kasutab enamik tootmissüsteeme paaritut arvu servereid, näiteks kolme, viit või seitset.

ZNode on ZooKeeperi nimeruumis olev sõlm, mis salvestab väikeses koguses andmeid ja metaandmeid. ZNode'id võivad olla püsivad, ajutised või järjestikused, võimaldades lukke ja liidri valimise mustreid.

Kafka 4.0 ja KRaft režiim eemaldavad ZooKeeperi, asendades selle sisemise Raft-põhise kontrolleri kvoorumiga. Uued juurutused kasutavad KRafti, samas kui vanemad klastrid saavad ZooKeeperit turvaliselt edasi kasutada.

ZooKeeper toetab SASL-autentimist, Kerberost, TLS-transporti ja ACL-põhist autoriseerimist. Lubage need funktsioonid ja segmenteerige ansambleid rentniku kohta, et säilitada isolatsioon jagatud keskkondades.

Algajad omandavad andmemudeli ja käsurea interaktsiooni (CLI) nädalaga. OperaProduktsiooniansambli varustamine hetktõmmiste, jälgimise ja Kerberosega võtab tavaliselt ühe kuni kolme kuu pikkuse praktilise kogemuse.

Võta see postitus kokku järgmiselt: