Amazon OpenSearch szolgáltatás a közelmúltban Multi-AZ készenléti móddal, egy olyan telepítési lehetőség, amelyet arra terveztek, hogy a vállalkozások számára fokozott rendelkezésre állást és egyenletes teljesítményt biztosítson a kritikus munkaterhelések esetén. Ezzel a funkcióval a felügyelt fürtök 99.99%-os rendelkezésre állást érhetnek el, miközben ellenállóak maradnak a zónás infrastruktúra meghibásodásaival szemben.
Ebben a bejegyzésben megvizsgáljuk, hogyan működik a keresés és az indexelés a készenléti állapotú Multi-AZ-val, és belemélyedünk a mögöttes mechanizmusokba, amelyek hozzájárulnak a megbízhatósághoz, az egyszerűséghez és a hibatűréshez.
Háttér
A készenléti móddal rendelkező Multi-AZ az OpenSearch Service tartománypéldányait három rendelkezésre állási zónában telepíti, két zóna aktív és egy készenléti zóna. Ez a konfiguráció egyenletes teljesítményt biztosít még zónahiba esetén is azáltal, hogy minden zónában ugyanazt a kapacitást tartja fenn. Fontos, hogy ez a készenléti zóna követi a statikailag stabil kialakítás, ami kiküszöböli a kapacitáskiépítés vagy az adatmozgatás szükségességét hibák esetén.
A szokásos műveletek során az aktív zóna kezeli a koordinátori forgalmat mind az olvasási, mind az írási kérések, valamint a szilánkos lekérdezések forgalmát. A készenléti zóna viszont csak replikációs forgalmat fogad. Az OpenSearch Service szinkron replikációs protokollt használ az írási kérésekhez. Ez lehetővé teszi a szolgáltatás számára, hogy hiba esetén azonnal aktív állapotba hozzon egy készenléti zónát (átlagos átállási idő <= 1 perc). zóna feladatátvétel. A korábban aktív zóna ezután készenléti állapotba kerül, és megkezdődik a helyreállítási műveletek az egészséges állapot helyreállítása érdekében.
Keresési forgalom átirányítása és feladatátvétele a magas rendelkezésre állás garantálása érdekében
Egy OpenSearch szolgáltatási tartományban a koordinátor bármely csomópont, amely kezeli a HTTP(S) kéréseket, különösen az indexelési és keresési kéréseket. A készenléti tartományú Multi-AZ-ban az aktív zónában lévő adatcsomópontok koordinátorként működnek a keresési kérelmek számára.
A keresési kérés lekérdezési szakaszában a koordinátor meghatározza a lekérdezendő szilánkokat, és kérést küld a shard másolatot tároló adatcsomópontnak. A lekérdezés helyileg fut minden egyes szilánkon, és az egyező dokumentumok visszakerülnek a koordinátor csomóponthoz. A koordinátor csomópont, amely felelős a kérés elküldéséért a szilánkos másolatokat tartalmazó csomópontokhoz, két lépésben futtatja a folyamatot. Először is létrehoz egy iterátort, amely meghatározza, hogy a csomópontokat milyen sorrendben kell lekérdezni egy szilánkos másolathoz, hogy a forgalom egyenletesen oszlik el a szilánkos másolatok között. Ezt követően a kérés elküldésre kerül az érintett csomópontoknak.
A koordinátor csomópont különféle algoritmusokat használ annak érdekében, hogy létrehozza a lekérdezendő csomópontok rendezett listáját egy szilánkos másolathoz. Ezek az algoritmusok magukban foglalják a körbefutó kijelölést, az adaptív replikakiválasztást, a preferencián alapuló szilánk útválasztást és súlyozott körmérkőzés.
A készenléti állapotú Multi-AZ esetén a súlyozott kör-robin algoritmust használják a szilánkos másolatok kiválasztásához. Ebben a megközelítésben az aktív zónák súlyozása 1, a készenléti zónához pedig 0. Ez biztosítja, hogy a készenléti elérhetőségi zóna adatcsomópontjaihoz ne kerüljön olvasási forgalom.
A súlyok a fürt állapotának metaadataiban JSON-objektumként vannak tárolva:
Amint az a következő képernyőképen látható, a us-east-1b
A régió zónastátusza: StandBy
, jelezve, hogy az elérhetőségi zónában lévő adatcsomópontok készenléti állapotban vannak, és nem kapnak keresési vagy indexelési kéréseket a terheléselosztótól.
Az állandósult működés fenntartásához a készenléti elérhetőségi zóna 30 percenként megfordul, biztosítva, hogy az összes hálózati rész lefedje az elérhetőségi zónákat. Ez a proaktív megközelítés ellenőrzi az olvasási útvonalak rendelkezésre állását, tovább növelve a rendszer rugalmasságát az esetleges hibák esetén. A következő diagram ezt az architektúrát szemlélteti.
Az előző diagramban a C zóna súlyozott körmérkőzéses súlya nullára van állítva. Ez biztosítja, hogy a készenléti zónában lévő adatcsomópontok ne kapjanak indexelési vagy keresési forgalmat. Amikor a koordinátor lekérdezi az adatcsomópontokat a szilánkos másolatokhoz, súlyozott kör-robin súlyt használ a lekérdezés sorrendjének meghatározásához. Mivel a készenléti elérhetőségi zóna súlya nulla, a koordinátori kérések nem kerülnek elküldésre.
Az OpenSearch szolgáltatásfürtben az aktív és a készenléti zónák bármikor ellenőrizhetők az Elérhetőségi zóna forgatási mérőszámai segítségével, amint az a következő képernyőképen látható.
A zónakimaradások idején a készenléti Elérhetőségi zóna zökkenőmentesen átkapcsol hibaüzemmódba a keresési kérésekhez. Ez azt jelenti, hogy a szilánkos lekérdezési forgalmat az összes elérhetőségi zónába irányítják, még a készenléti zónába is, ha az aktív elérhetőségi zónában nem érhető el egy egészséges szilánkos másolat. Ez a hibamentes megközelítés megóvja a keresési kéréseket a meghibásodásoktól, biztosítva a folyamatos szolgáltatást. A következő diagram ezt az architektúrát szemlélteti.
Az előző diagramban az állandósult állapotban a szilánkos lekérdezési forgalom az aktív elérhetőségi zónák (Zóna-A és Zone-B) adatcsomópontjához kerül. Az A zóna csomóponti hibái miatt a készenléti elérhetőségi zóna (C zóna) nem nyílik meg a szilánkos lekérdezési forgalom fogadására, így nincs hatással a keresési kérésekre. Végül a rendszer az A zónát egészségtelennek észleli, és az olvasási feladatátvétel a készenléti állapotot A zónára kapcsolja.
Hogyan biztosítja a feladatátvétel a magas rendelkezésre állást az írási zavarok során
Az OpenSearch Service replikációs modellje egy elsődleges biztonsági mentési modellt követ, amelyet szinkron jellege jellemez, ahol minden szilánkmásolatból nyugtázás szükséges, mielőtt egy írási kérést nyugtázhatna a felhasználó. Ennek a replikációs modellnek az egyik figyelemre méltó hátránya az, hogy az írási útvonal bármilyen károsodása esetén érzékeny a lassulásokra. Ezek a rendszerek egy aktív vezető csomópontra támaszkodnak, hogy azonosítsák a hibákat vagy késéseket, majd ezt az információt az összes csomóponthoz továbbítsák. Az ezeknek a problémáknak az észleléséhez szükséges időtartam (átlagos észlelési idő) és későbbi megoldásuk (átlagos javítási idő) nagymértékben meghatározza, hogy a rendszer mennyi ideig fog működni károsodott állapotban. Ezenkívül minden hálózati esemény, amely befolyásolja a zónák közötti kommunikációt, jelentősen akadályozhatja az írási kérelmeket a replikáció szinkron jellege miatt.
Az OpenSearch Service belső csomópontok közötti kommunikációs protokollt használ az írási forgalom replikálására és a metaadat-frissítések választott vezetőn keresztüli koordinálására. Következésképpen a stressznek kitett zóna készenléti állapotba helyezése nem oldaná meg hatékonyan az írásképtelenség problémáját.
Zónás írási feladatátvétel: A zónák közötti replikációs forgalom leállítása
A készenléti állapotú Multi-AZ esetében az előre nem látható események, például a zónahibák és a hálózati események által okozott potenciális teljesítményproblémák enyhítésére a zónás írási feladatátvétel hatékony megközelítés. Ez a megközelítés magában foglalja az érintett zónában lévő csomópontok kecses eltávolítását a klaszterből, hatékonyan leállítva a zónák közötti be- és kilépő forgalmat. A zónák közötti replikációs forgalom leválasztásával a zónahibák hatása az érintett zónán belül korlátozható. Ez kiszámíthatóbb élményt biztosít az ügyfelek számára, és biztosítja, hogy a rendszer továbbra is megbízhatóan működjön.
Kecses írási feladatátvétel
Az OpenSearch szolgáltatáson belüli írási feladatátvétel összehangolását a választott vezető csomópont végzi egy jól meghatározott mechanizmuson keresztül. Ez a mechanizmus egy konszenzusos protokollt foglal magában a fürt állapotok közzétételéhez, amely biztosítja az összes csomópont egyhangú egyetértését egyetlen zóna kijelöléséről (mindig) a leszerelésre. Fontos, hogy az érintett zónához kapcsolódó metaadatokat az összes csomóponton replikálják, hogy biztosítsák azok fennmaradását, még a teljes újraindítás során is, kimaradás esetén.
Ezenkívül a vezető csomópont biztosítja a zökkenőmentes és kecses átmenetet azáltal, hogy a csomópontokat az érintett zónákban először 5 percre készenléti állapotba helyezi, mielőtt elindítaná az I/O elkerítést. Ez a szándékos megközelítés megakadályozza, hogy új koordinátori forgalom vagy szilánkos lekérdezési forgalom az érintett zónán belüli csomópontokhoz kerüljön. Ez viszont lehetővé teszi ezeknek a csomópontoknak, hogy kecsesen hajtsák végre a folyamatban lévő feladataikat, és fokozatosan kezeljék a berepülési kéréseket, mielőtt kivonják őket a szolgálatból. A következő diagram ezt az architektúrát szemlélteti.
A vezető csomópont írási feladatátvételének megvalósítása során az OpenSearch Service a következő kulcsfontosságú lépéseket követi:
- Lemondás a vezetőről – Ha a vezető csomópont történetesen egy írási feladatátvételre ütemezett zónában található, a rendszer biztosítja, hogy a vezető csomópont önként lemondjon vezetői szerepéről. Ez a lemondás ellenőrzött módon történik, és a teljes folyamatot átadják egy másik jogosult csomópontnak, amely ezután átveszi a szükséges műveleteket.
- Akadályozza meg a leszerelendő vezető újraválasztását – Az írási feladatátvételre megjelölt zónából egy vezető újraválasztásának megakadályozása érdekében, amikor a jogosult vezető csomópont kezdeményezi az írási feladatátvételi műveletet, intézkedéseket tesz annak biztosítására, hogy a leszerelésre kerülő vezető csomópontok ne vegyenek részt további választásokon. Ezt úgy érik el, hogy kizárják a leszerelésre kerülő vezető csomópontot a szavazási konfigurációból, hatékonyan megakadályozva, hogy a fürt működésének bármely kritikus szakaszában szavazzon.
Az írási feladatátvételi zónához kapcsolódó metaadatok a fürt állapotán belül kerülnek tárolásra, és ezek az információk az elosztott OpenSearch Service-fürt összes csomópontján közzétételre kerülnek az alábbiak szerint:
A következő képernyőkép azt mutatja, hogy a hálózat lelassulása során egy zónában az írási feladatátvétel segít a rendelkezésre állás helyreállításában.
Zóna helyreállítás írási feladatátvétel után
A zónás újraindítás folyamata döntő szerepet játszik a zónás írási feladatátvételt követő helyreállítási szakaszban. Miután az érintett zónát helyreállították és stabilnak tekinthető, a korábban leállított csomópontok újra csatlakoznak a fürthöz. Ez az újbóli üzembe helyezés általában a zóna újbóli üzembe helyezése után 2 percen belül megtörténik.
Ez lehetővé teszi számukra, hogy szinkronizáljanak egyenrangú csomópontjaikkal, és elindítják a replikaszilánkok helyreállítási folyamatát, hatékonyan visszaállítva a fürt kívánt állapotát.
Következtetés
A készenléti állapotú OpenSearch Service Multi-AZ bevezetése hatékony megoldást kínál a vállalkozások számára a magas rendelkezésre állás és a folyamatos teljesítmény eléréséhez a kritikus munkaterhelések esetén. Ezzel a telepítési lehetőséggel a vállalkozások javíthatják infrastruktúrájuk ellenálló képességét, egyszerűsíthetik a fürtkonfigurációt és -felügyeletet, valamint érvényesíthetik a bevált gyakorlatokat. Az olyan funkciókkal, mint a súlyozott kör-robin szilánkos másolatok kiválasztása, a proaktív feladatátvételi mechanizmusok és a hibamentes készenléti rendelkezésre állási zónák, az OpenSearch Service Multi-AZ készenléttel megbízható és hatékony keresési élményt biztosít az igényes vállalati környezetekben.
További információért a Multi-AZ készenléti móddal kapcsolatban lásd: Amazon OpenSearch szolgáltatás a motorháztető alatt: Multi-AZ készenléti állapottal.
A szerzőről
Anshu Agarwal vezető szoftvermérnök, aki az AWS OpenSearch-en dolgozik az Amazon Web Servicesnél. Szenvedélyesen foglalkozik a méretezhető és rendkívül megbízható rendszerek építésével kapcsolatos problémák megoldásában.
Rishab Nahata az Amazon Web Services OpenSearch-en dolgozó szoftvermérnök. Lenyűgözi az elosztott rendszerek problémáinak megoldása. Aktív közreműködője az OpenSearch-nek.
Bukhtavar kán vezető mérnök, aki az Amazon OpenSearch szolgáltatáson dolgozik. Az elosztott és autonóm rendszerek érdeklik. Aktív közreműködője az OpenSearch-nek.
Ranjith Ramachandra mérnöki menedzser, aki az Amazon OpenSearch szolgáltatáson dolgozik az Amazon Web Servicesnél.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/big-data/achieve-high-availability-in-amazon-opensearch-multi-az-with-standby-enabled-domains-a-deep-dive-into-failovers/
- :van
- :is
- :nem
- :ahol
- 1
- 10
- 100
- 12
- 30
- 501
- a
- Rólunk
- Elérése
- elért
- elismerte
- át
- törvény
- Akció
- cselekvések
- aktív
- adaptív
- Ezen kívül
- cím
- érintett
- Után
- Megállapodás
- algoritmus
- algoritmusok
- Minden termék
- lehetővé
- amazon
- Az Amazon Web Services
- között
- an
- és a
- Másik
- bármilyen
- megközelítés
- építészet
- VANNAK
- AS
- kijelölt
- At
- autonóm
- autonóm rendszerek
- elérhetőség
- tudatosság
- AWS
- mentés
- egyensúlyozó
- BE
- mert
- óta
- előtt
- hogy
- BEST
- legjobb gyakorlatok
- között
- mindkét
- rádióadás
- Épület
- vállalkozások
- by
- TUD
- Kapacitás
- végrehajtott
- okozott
- jellemzett
- díj
- ellenőrzött
- Fürt
- közlés
- távközlés
- teljes
- Configuration
- megegyezés
- Következésképpen
- figyelembe vett
- következetes
- Konzol
- tartalmazott
- tovább
- folyamatos
- contribuer
- hozzájáruló
- vezérelt
- koordinációs
- Koordinátor
- koordinátorok
- példányban
- fedett
- teremt
- teremt
- kritikai
- kritikus
- Ügyfelek
- vágás
- dátum
- dönt
- mély
- mély merülést
- Annak meghatározása,
- késedelmek
- ás
- igényes
- bevetés
- bevet
- kijelölt
- tervezett
- kívánatos
- kimutatására
- észlelt
- meghatározza
- irányított
- Zavar
- megosztott
- elosztott rendszerek
- merülés
- do
- dokumentumok
- domain
- domainek
- ne
- le-
- két
- időtartama
- alatt
- minden
- Hatékony
- hatékonyan
- hatékony
- megválasztott
- Választások
- választható
- megszüntetése
- engedélyezve
- lehetővé teszi
- érvényesíteni
- mérnök
- Mérnöki
- növelése
- fokozott
- fokozása
- biztosítására
- biztosítja
- biztosítása
- Vállalkozás
- Egész
- környezetek
- különösen
- Eter (ETH)
- Még
- esemény
- események
- végül is
- Minden
- kizárás
- tapasztalat
- tapasztal
- feltárása
- nem sikerül
- Kudarc
- hibák
- Funkció
- Jellemzők
- vívás
- vezetéknév
- következő
- következik
- A
- KERET
- ból ből
- Tele
- további
- gif
- Kecses
- fokozatosan
- garancia
- kéz
- fogantyú
- Fogantyúk
- megtörténik
- he
- egészséges
- segít
- Magas
- nagyon
- motorháztető
- tárhely
- Hogyan
- http
- HTTPS
- azonosítani
- if
- illusztrálja
- Hatás
- befolyásolta
- értékvesztés
- végrehajtási
- ami fontos
- in
- tartalmaz
- jelezve
- információ
- Infrastruktúra
- alapvetően
- beavatottak
- kezdeményező
- példányok
- érdekelt
- belső
- bele
- Bevezetett
- Bevezetés
- jár
- kérdés
- kérdések
- IT
- ITS
- jpg
- json
- Kulcs
- ismert
- nagymértékben
- vezető
- Vezetés
- mint
- Lista
- kiszámításának
- helyileg
- található
- Hosszú
- fenntartása
- fenntartása
- sikerült
- vezetés
- menedzser
- mód
- megjelölt
- párosított
- jelent
- eszközök
- intézkedések
- mechanizmus
- mechanizmusok
- Metaadatok
- Metrics
- perc
- jegyzőkönyv
- Enyhít
- Mód
- modell
- több
- mozgalom
- Természet
- elengedhetetlen
- Szükség
- hálózat
- hálózatba
- Új
- nem
- csomópont
- csomópontok
- figyelemre méltó
- tárgy
- of
- kedvezmény
- on
- ONE
- folyamatban lévő
- csak
- nyitva
- működik
- működés
- Művelet
- opció
- or
- hangszerelés
- érdekében
- Más
- ki
- leállás
- kiesések
- felett
- részt vesz
- alkatrészek
- szenvedélyes
- ösvény
- utak
- egyenrangú
- teljesítmény
- kitartás
- fázis
- forgalomba
- Plató
- Platón adatintelligencia
- PlatoData
- játszik
- állás
- potenciális
- erős
- gyakorlat
- megelőző
- Kiszámítható
- megakadályozása
- megakadályozása
- megakadályozza
- korábban
- elsődleges
- Fő
- proaktív
- problémák
- folyamat
- kellene támogatnia,
- protokoll
- ad
- biztosít
- A megjelenés
- közzétett
- elhelyezés
- lekérdezések
- Olvass
- kap
- kap
- nemrég
- Meggyógyul
- visszanyerésére
- felépülés
- utal
- vidék
- szabályos
- összefüggő
- megbízhatóság
- megbízható
- támaszkodnak
- megmaradó
- eltávolítás
- javítás
- válasz
- többszörözött
- replikáció
- kérni
- kéri
- kötelező
- rugalmasság
- rugalmas
- megoldása
- felelős
- visszaad
- felújított
- helyreállítása
- Szerep
- routing
- futás
- fut
- s
- biztosítékok
- azonos
- skálázható
- tervezett
- zökkenőmentesen
- Keresés
- kiválasztás
- elküldés
- küld
- idősebb
- küldött
- szolgáltatás
- Szolgáltatások
- készlet
- ő
- mutatott
- jelentősen
- egyszerűség
- egyszerűsítése
- egyetlen
- Lassíts
- lassítások
- sima
- So
- szoftver
- Software Engineer
- megoldások
- Megoldása
- stabil
- Állami
- Állapot
- állandó
- Lépései
- memorizált
- feszültség
- Később
- sikeres
- fogékonyság
- rendszer
- Systems
- Vesz
- meghozott
- tart
- feladatok
- hogy
- A
- azok
- Őket
- akkor
- Ott.
- Ezek
- ezt
- azok
- három
- Keresztül
- idő
- alkalommal
- nak nek
- tolerancia
- forgalom
- átmenet
- FORDULAT
- kettő
- jellemzően
- alatt
- mögöttes
- váratlan
- Frissítés
- használt
- használó
- használ
- segítségével
- hasznosítja
- különféle
- önként
- Szavazás
- we
- háló
- webes szolgáltatások
- súly
- JÓL
- jól definiált
- voltak
- amikor
- ami
- míg
- lesz
- val vel
- belül
- dolgozó
- művek
- ír
- zephyrnet
- nulla
- zónák