Amazon OpenSearchi teenus hiljuti kasutusele võetud Multi-AZ koos ooterežiimiga, juurutusvõimalus, mis on loodud ettevõtetele parema kättesaadavuse ja järjepideva jõudluse pakkumiseks kriitilise töökoormuse korral. Selle funktsiooni abil saavad hallatavad klastrid saavutada 99.99% saadavuse, jäädes samas vastupidavaks tsooniliste infrastruktuuri tõrgetele.
Selles postituses uurime, kuidas otsing ja indekseerimine töötab Multi-AZ-ga koos ooterežiimiga, ning süveneme aluseks olevatesse mehhanismidesse, mis aitavad kaasa selle töökindlusele, lihtsusele ja tõrketaluvusele.
Taust
Ooterežiimiga Multi-AZ juurutab OpenSearch Service'i domeenieksemplarid kolmes saadavuse tsoonis, kusjuures kaks tsooni on määratud aktiivseks ja üks ooterežiimiks. See konfiguratsioon tagab ühtlase jõudluse isegi tsoonide rikete korral, säilitades sama võimsuse kõigis tsoonides. Oluline on see, et see ooterežiimi tsoon järgib a staatiliselt stabiilne disain, välistades vajaduse võimsuse varustamise või andmete liikumise järele rikete ajal.
Tavapäraste toimingute ajal haldab aktiivne tsoon koordinaatoriliiklust nii lugemis- kui ka kirjutamispäringute jaoks, samuti killupäringu liiklust. Ooterežiimi tsoon aga võtab vastu ainult replikatsiooniliiklust. OpenSearch Service kasutab kirjutamistaotluste jaoks sünkroonset replikatsiooniprotokolli. See võimaldab teenusel viivitamatult viia ooterežiimi tsoon tõrke korral aktiivsesse olekusse (keskmine aeg tõrkevahetuseni <= 1 minut), mida nimetatakse tsooniline ebaõnnestumine. Seejärel alandatakse varem aktiivne tsoon ooterežiimi ja alustatakse taastamistoiminguid, et taastada selle tervislik seisund.
Otsinguliikluse marsruutimine ja tõrkesiirde kõrge kättesaadavuse tagamiseks
OpenSearch teenuse domeenis a koordinaator on mis tahes sõlm, mis käsitleb HTTP(S) päringuid, eriti indekseerimis- ja otsingupäringuid. Ooterežiimi domeeniga Multi-AZ-is toimivad aktiivses tsoonis olevad andmesõlmed otsingupäringute koordinaatoritena.
Otsingupäringu päringufaasis määrab koordinaator, milliste kildude kohta päringut teha, ja saadab päringu kilde koopiat majutavale andmesõlmele. Päring käivitatakse lokaalselt igal killul ja sobitatud dokumendid tagastatakse koordinaatori sõlme. Koordinaatori sõlm, mis vastutab päringu saatmise eest sõlmedele, mis sisaldavad killu koopiaid, käivitab protsessi kahes etapis. Esiteks loob see iteraatori, mis määrab järjekorra, milles sõlmedelt tuleb killukoopiat päringuid teha, et liiklus oleks kilekoopiate vahel ühtlaselt jaotatud. Seejärel saadetakse päring vastavatele sõlmedele.
Selleks, et luua järjestatud loend sõlmedest, millelt päringu killu koopia jaoks, kasutab koordinaatorsõlm erinevaid algoritme. Need algoritmid hõlmavad ringivalikut, adaptiivset koopiate valimist, eelistustepõhist killu marsruutimist ja kaalutud ringmäng.
Ooterežiimiga Multi-AZ puhul kasutatakse koopiate valimiseks kaalutud ümbertöötamise algoritmi. Selle lähenemisviisi puhul omistatakse aktiivsetele tsoonidele kaal 1 ja ooterežiimi tsoonile kaal 0. See tagab, et ooterežiimi saadavuse tsooni andmesõlmedesse lugemisliiklust ei saadeta.
Kaalud salvestatakse klastri oleku metaandmetesse JSON-objektina:
Nagu on näidatud järgmisel ekraanipildil, us-east-1b
Piirkonna tsooni staatus on StandBy
, mis näitab, et selle saadavuse tsooni andmesõlmed on ooterežiimis ega võta koormuse tasakaalustajalt vastu otsingu- ega indekseerimispäringuid.
Püsiseisundi toimimise säilitamiseks pööratakse ooterežiimi saadavuse tsooni iga 30 minuti järel, tagades, et kõik võrguosad on saadavalolekutsoonides kaetud. See ennetav lähenemisviis kontrollib lugemisteede saadavust, suurendades veelgi süsteemi vastupidavust võimalike rikete korral. Järgmine diagramm illustreerib seda arhitektuuri.
Eelneval diagrammil on tsooni C kaalutud ümbertöötamise kaal seatud nullile. See tagab, et ooterežiimi tsoonis olevad andmesõlmed ei võta vastu indekseerimis- ega otsinguliiklust. Kui koordinaator küsib andmesõlmedest killukoopiaid, kasutab ta kaalutud ümmarguse kaalu, et otsustada, millises sõlmedes päringuid teha. Kuna ooterežiimi saadavuse tsooni kaal on null, koordinaatori taotlusi ei saadeta.
OpenSearch Service'i klastris saab aktiivset ja ooterežiimi tsoone igal ajal kontrollida saadavuse tsooni pöörlemismõõdikute abil, nagu on näidatud järgmisel ekraanipildil.
Tsooni katkestuste ajal lülitub ooterežiimi saadavuse tsoon otsingupäringute jaoks sujuvalt tõrkeavamisrežiimi. See tähendab, et killupäringu liiklus suunatakse kõikidesse saadavuse tsoonidesse, isegi ooterežiimis olevatesse tsoonidesse, kui aktiivses saadavuse tsoonis pole saadaval tervet killu koopiat. See tõrkeotsingu lähenemisviis kaitseb otsingupäringuid rikete ajal katkemise eest, tagades pideva teenindamise. Järgmine diagramm illustreerib seda arhitektuuri.
Eelmisel diagrammil saadetakse püsioleku ajal killupäringu liiklus aktiivsete saadavuse tsoonide (Tsoon-A ja Zone-B) andmesõlme. Tsooni A sõlme tõrgete tõttu ei avane ooterežiimi saadavuse tsoon (tsoon C) killupäringu liiklust vastu võtma, nii et see ei mõjuta otsingupäringuid. Lõpuks tuvastatakse tsoon A ebatervislikuna ja lugemise tõrkesiirde lülitab ooterežiimi tsooni A.
Kuidas tõrkesiirde tagab kõrge kättesaadavuse kirjutamishäirete ajal
OpenSearch Service'i replikatsioonimudel järgib esmast varundusmudelit, mida iseloomustab selle sünkroonne olemus, kus enne kasutajale kirjutamistaotluse kinnitamist on vaja kinnitust kõikidest koopiatest. Selle replikatsioonimudeli üks märkimisväärne puudus on selle vastuvõtlikkus aeglustumisele kirjutustee mis tahes kahjustuse korral. Need süsteemid tuginevad aktiivsele juhtsõlmele, et tuvastada tõrkeid või viivitusi ja seejärel edastada see teave kõigile sõlmedele. Nende probleemide tuvastamiseks kuluv aeg (keskmine aeg tuvastamiseks) ja seejärel nende lahendamiseks kuluv aeg (keskmine parandamise aeg) määrab suuresti selle, kui kaua süsteem kahjustatud olekus töötab. Lisaks võivad kõik võrgusündmused, mis mõjutavad tsoonidevahelist sidet, oluliselt takistada kirjutamistaotlusi replikatsiooni sünkroonsuse tõttu.
OpenSearch Service kasutab sisemist sõlmedevahelist suhtlusprotokolli kirjutamisliikluse kopeerimiseks ja metaandmete värskenduste koordineerimiseks valitud juhi kaudu. Järelikult ei lahendaks stressi all kannatava tsooni ooterežiimile panemine kirjutushäirete probleemi tõhusalt.
Tsoonilise kirjutamise tõrkevahetus: tsoonidevahelise replikatsiooniliikluse katkestamine
Ooterežiimiga Multi-AZ-i puhul on tsoonilise kirjutamise tõrkesiirde tõhus lähenemisviis, et leevendada võimalikke jõudlusprobleeme, mis on põhjustatud ettenägematutest sündmustest, nagu tsoonilised tõrked ja võrgusündmused. See lähenemine hõlmab mõjutatud tsooni sõlmede graatsilist eemaldamist klastrist, katkestades tõhusalt tsoonidevahelise sisse- ja väljumisliikluse. Tsoonidevahelise replikatsiooniliikluse katkestamisega saab tsoonide tõrgete mõju mõjutatud tsoonis piirata. See annab klientidele etteaimatavama kogemuse ja tagab süsteemi töökindluse jätkumise.
Graatsiline kirjutamise ebaõnnestumine
Kirjutamise tõrkesiirde korraldamine OpenSearch Service'is toimub valitud juhtsõlme poolt täpselt määratletud mehhanismi kaudu. See mehhanism hõlmab konsensusprotokolli klastri oleku avaldamiseks, mis tagab kõigi sõlmede ühehäälse kokkuleppe määrata (alati) üks tsoon dekomisjoneerimiseks. Oluline on see, et mõjutatud tsooniga seotud metaandmeid kopeeritakse kõigis sõlmedes, et tagada nende püsivus isegi täieliku taaskäivituse ajal katkestuse korral.
Lisaks tagab juhtsõlm sujuva ja graatsilise ülemineku, asetades sõlmed mõjutatud tsoonidesse 5 minutiks ooterežiimi, enne kui alustate I/O piirdeid. See sihilik lähenemine takistab uue koordinaatori liikluse või killupäringu liikluse suunamist mõjualasse jäävatesse sõlmedesse. See omakorda võimaldab neil sõlmedel oma käimasolevaid ülesandeid graatsiliselt täita ja järk-järgult käsitleda kõiki lennutaotlusi, enne kui need kasutusest kõrvaldatakse. Järgmine diagramm illustreerib seda arhitektuuri.
Juhtsõlme kirjutamise tõrkesiirde juurutamise protsessis järgib OpenSearch Service järgmisi peamisi samme.
- Juhi troonist loobumine – Kui juhtsõlm asub tsoonis, mis on kavandatud kirjutamise tõrkesiirde jaoks, tagab süsteem, et juhtsõlm loobub vabatahtlikult oma juhtrollist. Loobumine toimub kontrollitud viisil ja kogu protsess antakse üle teisele abikõlblikule sõlmele, kes seejärel vastutab vajalike toimingute eest.
- Vältida eemaldatava juhi uuesti valimist – Kui sobilik juhtsõlm algatab kirjutamise tõrkesiirdetoimingu, võtab ta meetmed tagamaks, et mis tahes kasutusest kõrvaldatavad juhtsõlmed ei osaleks edasistel valimistel, et vältida juhi uuesti valimist kirjutamise tõrkesiirde jaoks märgitud tsoonist. See saavutatakse, kui jäetakse kasutusest kõrvaldatav juhtsõlm hääletuskonfiguratsioonist välja, takistades sellega tõhusalt hääletamist klastri töö mis tahes kriitilise faasi ajal.
Kirjutamise tõrkeotsingu tsooniga seotud metaandmed salvestatakse klastri olekus ja see teave avaldatakse kõigile hajutatud OpenSearch Service'i klastri sõlmedele järgmiselt.
Järgmisel ekraanipildil on kujutatud, et tsooni võrguühenduse aeglustumise ajal aitab kirjutamise tõrkesiirded saadavust taastada.
Tsooni taastamine pärast kirjutamise tõrkevahetust
Tsooni uuesti kasutuselevõtu protsess mängib tsoonilise kirjutamise tõrkevahetusele järgnevas taastefaasis üliolulist rolli. Pärast seda, kui mõjutatud tsoon on taastatud ja seda peetakse stabiilseks, liituvad varem kasutusest kõrvaldatud sõlmed uuesti klastriga. Taaskäivitamine toimub tavaliselt 2 minuti jooksul pärast tsooni taaskasutuselevõtmist.
See võimaldab neil sünkroonida oma partnerite sõlmedega ja käivitab koopiakildude taastamise protsessi, taastades tõhusalt klastri soovitud olekusse.
Järeldus
Ooterežiimiga OpenSearch Service Multi-AZ kasutuselevõtt pakub ettevõtetele võimsa lahenduse kõrge kättesaadavuse ja järjepideva jõudluse saavutamiseks kriitilise töökoormuse korral. Selle juurutamisvalikuga saavad ettevõtted suurendada oma infrastruktuuri vastupidavust, lihtsustada klastri konfigureerimist ja haldamist ning jõustada parimaid tavasid. Funktsioonidega, nagu kaalutud ümmargune killustiku valik, ennetavad tõrkesiirdemehhanismid ja tõrkeava ooterežiimi saadavuse tsoonid, tagab OpenSearch Service Multi-AZ koos ooterežiimiga usaldusväärse ja tõhusa otsingukogemuse nõudlikes ettevõttekeskkondades.
Ooterežiimiga Multi-AZ kohta lisateabe saamiseks vaadake Amazon OpenSearchi teenus kapoti all: mitu AZ koos ooterežiimiga.
Teave Autor
Anshu Agarwal on vanemtarkvarainsener, kes töötab Amazon Web Servicesis AWS OpenSearchiga. Ta on kirglik skaleeritavate ja väga töökindlate süsteemide ehitamisega seotud probleemide lahendamise vastu.
Rishab Nahata on tarkvarainsener, kes töötab Amazon Web Servicesis OpenSearchiga. Teda köidab probleemide lahendamine hajutatud süsteemides. Ta on aktiivne OpenSearchi kaasautor.
Bukhtawar Khan on peainsener, kes töötab Amazon OpenSearch Service'is. Teda huvitavad hajutatud ja autonoomsed süsteemid. Ta on aktiivne OpenSearchi kaastööline.
Ranjith Ramachandra on insenerijuht, kes töötab Amazon OpenSearch Service'is Amazon Web Servicesis.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/big-data/achieve-high-availability-in-amazon-opensearch-multi-az-with-standby-enabled-domains-a-deep-dive-into-failovers/
- :on
- :on
- :mitte
- : kus
- 1
- 10
- 100
- 12
- 30
- 501
- a
- MEIST
- Saavutada
- saavutada
- tunnustatud
- üle
- tegu
- tegevus
- meetmete
- aktiivne
- adaptiivne
- Lisaks
- aadress
- mõjutatud
- pärast
- Kokkulepe
- algoritm
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- võimaldama
- Amazon
- Amazon Web Services
- vahel
- an
- ja
- Teine
- mistahes
- lähenemine
- arhitektuur
- OLEME
- AS
- määratud
- At
- autonoomne
- autonoomsed süsteemid
- kättesaadavus
- teadlikkus
- AWS
- Varundamine
- stabilisaator
- BE
- sest
- olnud
- enne
- on
- BEST
- parimaid tavasid
- vahel
- mõlemad
- ülekanne
- Ehitus
- ettevõtted
- by
- CAN
- Võimsus
- kaasas
- põhjustatud
- iseloomustatud
- tasu
- kontrollitud
- Cluster
- KOMMUNIKATSIOON
- Side
- täitma
- konfiguratsioon
- üksmeel
- Järelikult
- kaaluda
- järjepidev
- konsool
- sisaldub
- pidev
- pidev
- aitama kaasa
- toetaja
- kontrollitud
- koordineerimine
- Koordineerija
- koordinaatorid
- koopiad
- kaetud
- looma
- loob
- kriitiline
- otsustav
- Kliendid
- lõikamine
- andmed
- otsustama
- sügav
- sügav sukeldumine
- Määratleb
- viivitusi
- süvenema
- nõudlik
- kasutuselevõtu
- juurutab
- määratud
- kavandatud
- soovitud
- avastama
- tuvastatud
- määrab
- suunatud
- Katkestus
- jagatud
- hajutatud süsteemid
- sukelduma
- do
- dokumendid
- domeen
- Domeenid
- Ära
- alla
- kaks
- kestus
- ajal
- iga
- Tõhus
- tõhusalt
- tõhus
- valitud
- Valimised
- abikõlblik
- kõrvaldades
- lubatud
- võimaldab
- jõustada
- insener
- Inseneriteadus
- suurendama
- tõhustatud
- suurendamine
- tagama
- tagab
- tagades
- ettevõte
- Kogu
- keskkondades
- eriti
- Eeter (ETH)
- Isegi
- sündmus
- sündmused
- lõpuks
- Iga
- välja arvatud
- kogemus
- kogevad
- uurima
- ei
- ebaedu
- rikete
- tunnusjoon
- FUNKTSIOONID
- vehklemine
- esimene
- Järel
- järgneb
- eest
- FRAME
- Alates
- täis
- edasi
- gif
- Graatsiline
- järk-järgult
- garantii
- käsi
- käepide
- Varred
- juhtub
- he
- tervislik
- aitab
- Suur
- kõrgelt
- kapuuts
- Hosting
- Kuidas
- http
- HTTPS
- identifitseerima
- if
- illustreerib
- mõju
- mõjutatud
- kahjustused
- rakendamisel
- tähtsam
- in
- sisaldama
- Näitab
- info
- Infrastruktuur
- esialgu
- Algatab
- algatades
- juhtumid
- huvitatud
- sisemine
- sisse
- sisse
- Sissejuhatus
- hõlmab
- probleem
- küsimustes
- IT
- ITS
- jpg
- Json
- Võti
- teatud
- suurelt jaolt
- juht
- Juhtimine
- nagu
- nimekiri
- koormus
- kohapeal
- asub
- Pikk
- säilitada
- säilitamine
- juhitud
- juhtimine
- juht
- viis
- märgitud
- sobitatud
- keskmine
- vahendid
- meetmed
- mehhanism
- mehhanismid
- Metaandmed
- Meetrika
- minut
- protokoll
- Leevendada
- viis
- mudel
- rohkem
- liikumine
- loodus
- vajalik
- Vajadus
- võrk
- võrgustike loomine
- Uus
- ei
- sõlme
- sõlmed
- märkimisväärne
- objekt
- of
- maha
- on
- ONE
- jätkuv
- ainult
- avatud
- töötama
- töö
- Operations
- valik
- or
- Korraldus
- et
- Muu
- välja
- katkestada
- Seisud
- üle
- osalema
- osad
- kirglik
- tee
- teed
- peer
- jõudlus
- püsivus
- faas
- paigutamine
- Platon
- Platoni andmete intelligentsus
- PlatoData
- mängib
- post
- potentsiaal
- võimas
- tavad
- eelnev
- ennustatav
- vältida
- ennetada
- takistab
- varem
- esmane
- Peamine
- Proaktiivne
- probleeme
- protsess
- edendama
- protokoll
- anda
- annab
- avaldamine
- avaldatud
- Putting
- päringud
- Lugenud
- saama
- saab
- hiljuti
- Taastuma
- taastumine
- taastumine
- viitama
- piirkond
- regulaarne
- seotud
- asjakohane
- usaldusväärsus
- usaldusväärne
- lootma
- ülejäänud
- eemaldamine
- remont
- vastus
- kopeerida
- replikatsioon
- taotleda
- Taotlusi
- nõutav
- vastupidavust
- vetruv
- lahendama
- vastutav
- taastama
- taastatud
- taastamine
- Roll
- Marsruutimine
- jooks
- jookseb
- s
- tagatisi
- sama
- skaalautuvia
- plaanitud
- sujuvalt
- Otsing
- valik
- saatmine
- saadab
- vanem
- Saadetud
- teenus
- Teenused
- komplekt
- ta
- näidatud
- märgatavalt
- lihtsus
- lihtsustama
- ühekordne
- Võta aeglasemalt
- aeglustused
- siluda
- So
- tarkvara
- Tarkvara insener
- lahendus
- Lahendamine
- stabiilne
- riik
- olek
- stabiilne
- Sammud
- ladustatud
- stress
- Järgnevalt
- edukas
- vastuvõtlikkus
- süsteem
- süsteemid
- Võtma
- võtnud
- võtab
- ülesanded
- et
- .
- oma
- Neile
- SIIS
- Seal.
- Need
- see
- need
- kolm
- Läbi
- aeg
- korda
- et
- sallivus
- liiklus
- üleminek
- Pöörake
- kaks
- tüüpiliselt
- all
- aluseks
- ettenägematu
- Uudised
- Kasutatud
- Kasutaja
- kasutusalad
- kasutamine
- kasutab ära
- eri
- vabatahtlikult
- Hääletamine
- we
- web
- veebiteenused
- kaal
- Hästi
- hästi määratletud
- olid
- millal
- mis
- kuigi
- will
- koos
- jooksul
- töö
- töötab
- kirjutama
- sephyrnet
- null
- tsoonid