Amazon OpenSearch-palvelu äskettäin esitelty Multi-AZ valmiustilassa, käyttöönottovaihtoehto, joka on suunniteltu tarjoamaan yrityksille parannettu saatavuus ja tasainen suorituskyky kriittisissä työkuormissa. Tämän ominaisuuden avulla hallitut klusterit voivat saavuttaa 99.99 %:n käytettävyyden samalla, kun ne kestävät vyöhykeinfrastruktuurin vikoja.
Tässä viestissä tutkimme, kuinka haku ja indeksointi toimivat Multi-AZ:n kanssa valmiustilassa, ja perehdymme taustalla oleviin mekanismeihin, jotka edistävät sen luotettavuutta, yksinkertaisuutta ja vikasietoisuutta.
Tausta
Multi-AZ, jossa on valmiustila, ottaa käyttöön OpenSearch-palvelun toimialueen ilmentymiä kolmelle käytettävyysalueelle, joista kaksi on määritetty aktiiviseksi ja yksi valmiustilaksi. Tämä kokoonpano varmistaa tasaisen suorituskyvyn myös vyöhykehäiriöiden sattuessa säilyttämällä saman kapasiteetin kaikilla vyöhykkeillä. Tärkeää on, että tämä valmiustilan vyöhyke seuraa a staattisesti vakaa muotoilu, mikä eliminoi kapasiteetin lisäämisen tai tiedonsiirron tarpeen vikojen aikana.
Normaalin toiminnan aikana aktiivinen vyöhyke käsittelee koordinaattoriliikennettä sekä luku- että kirjoituspyyntöjä varten sekä sirpalekyselyliikennettä. Sen sijaan valmiustilavyöhyke vastaanottaa vain replikointiliikennettä. OpenSearch Service käyttää synkronista replikointiprotokollaa kirjoituspyyntöihin. Tämä mahdollistaa sen, että palvelu saattaa nopeasti valmiusvyöhykkeen aktiiviseen tilaan vian sattuessa (keskimääräinen vikasietoaika <= 1 minuutti), joka tunnetaan nimellä vyöhykkeen vikasieto. Aiemmin aktiivinen vyöhyke siirretään sitten valmiustilaan ja palautustoimenpiteet aloitetaan sen terveen tilan palauttamiseksi.
Hakuliikenteen reititys ja vikasietotoiminto korkean käytettävyyden takaamiseksi
OpenSearch-palvelun toimialueella a koordinaattori on mikä tahansa solmu, joka käsittelee HTTP(S)-pyyntöjä, erityisesti indeksointi- ja hakupyyntöjä. Multi-AZ:ssa, jossa on valmiustila, aktiivisen vyöhykkeen datasolmut toimivat hakupyyntöjen koordinaattoreina.
Hakupyynnön kyselyvaiheessa koordinaattori määrittää kyselyn kohteena olevat sirpaleet ja lähettää pyynnön sirpalekopiota isännöivälle datasolmulle. Kysely suoritetaan paikallisesti jokaiselle sirpaleelle ja vastaavat asiakirjat palautetaan koordinaattorisolmuun. Koordinaattorisolmu, joka on vastuussa pyynnön lähettämisestä sirpalekopioita sisältäville solmuille, suorittaa prosessin kahdessa vaiheessa. Ensinnäkin se luo iteraattorin, joka määrittää järjestyksen, jossa solmuilta on kysyttävä sirpalekopiota, jotta liikenne jakautuu tasaisesti sirpalekopioiden kesken. Tämän jälkeen pyyntö lähetetään asianmukaisille solmuille.
Koordinaattorisolmu käyttää erilaisia algoritmeja luodakseen järjestetyn listan solmuista, joilta haetaan sirpalekopiota. Näihin algoritmeihin kuuluvat round-robin-valinta, mukautuva replikoiden valinta, mieltymyksiin perustuva sirpalereititys ja painotettu round robin.
Multi-AZ-valmiustilassa painotettua round-robin-algoritmia käytetään sirpaleiden valinnassa. Tässä lähestymistavassa aktiivisille vyöhykkeille on annettu painoarvo 1 ja valmiustilan vyöhykkeelle 0. Tämä varmistaa, että lukuliikennettä ei lähetetä valmiustilan käytettävyysvyöhykkeen datasolmuihin.
Painot tallennetaan klusterin tilan metatietoihin JSON-objektina:
Kuten seuraavassa kuvakaappauksessa näkyy, us-east-1b
Alueen vyöhykkeen tila on StandBy
, joka osoittaa, että tämän Saatavuusvyöhykkeen datasolmut ovat valmiustilassa eivätkä vastaanota haku- tai indeksointipyyntöjä kuormituksen tasapainottimelta.
Vakaan tilan toiminnan ylläpitämiseksi valmiustilan käytettävyysvyöhykettä käännetään 30 minuutin välein, mikä varmistaa, että kaikki verkon osat ovat katettuja käytettävyysvyöhykkeillä. Tämä ennakoiva lähestymistapa varmistaa lukupolkujen saatavuuden ja parantaa entisestään järjestelmän sietokykyä mahdollisten vikojen aikana. Seuraava kaavio havainnollistaa tätä arkkitehtuuria.
Edellisessä kaaviossa vyöhykkeen C painotettu kierrospaino on asetettu nollaan. Tämä varmistaa, että valmiustilan datasolmut eivät vastaanota indeksointi- tai hakuliikennettä. Kun koordinaattori kysyy datasolmuilta sirpalekopioita, se käyttää painotettua round-robin-painotusta päättääkseen järjestyksen, missä solmuista kysely tehdään. Koska valmiustilan saatavuusalueen paino on nolla, koordinaattoripyyntöjä ei lähetetä.
OpenSearch-palveluklusterissa aktiiviset ja valmiustilavyöhykkeet voidaan tarkistaa milloin tahansa Availability Zone -kiertomittareiden avulla, kuten seuraavassa kuvakaappauksessa näkyy.
Vyöhykekatkosten aikana valmiustilassa oleva käytettävyysvyöhyke siirtyy saumattomasti vikasietotilaan hakupyyntöjä varten. Tämä tarkoittaa, että sirpalekyselyliikenne reititetään kaikille käytettävyysvyöhykkeille, myös valmiustilassa oleville, kun tervettä sirpalekopiota ei ole saatavilla aktiivisella Saatavuusvyöhykkeellä. Tämä epäonnistunut lähestymistapa suojaa hakupyynnöt häiriöiltä vikojen aikana ja varmistaa jatkuvan palvelun. Seuraava kaavio havainnollistaa tätä arkkitehtuuria.
Edellisessä kaaviossa vakaan tilan aikana sirpalekyselyliikenne lähetetään datasolmuun aktiivisissa Saatavuusvyöhykkeissä (vyöhyke-A ja vyöhyke-B). Vyöhykkeen A solmuvirheiden vuoksi valmiustilan käytettävyysvyöhyke (Zone-C) ei avaudu ottamaan sirpalekyselyliikennettä, joten sillä ei ole vaikutusta hakupyyntöihin. Lopulta vyöhyke A havaitaan epäterveeksi ja lukuvirheenvaihto vaihtaa valmiustilan vyöhykkeelle A.
Kuinka vikasietoisuus varmistaa korkean käytettävyyden kirjoitushäiriön aikana
OpenSearch Servicen replikointimalli noudattaa ensisijaista varmuuskopiointimallia, jolle on tunnusomaista sen synkroninen luonne, jossa kaikkien sirpalekopioiden kuittaus on tarpeen ennen kuin kirjoituspyyntö voidaan kuitata käyttäjälle. Eräs tämän replikointimallin huomattava haittapuoli on sen alttius hidastumiselle, jos kirjoituspolussa ilmenee häiriöitä. Nämä järjestelmät luottavat aktiiviseen johtajasolmuun tunnistamaan viat tai viiveet ja lähettämään sitten nämä tiedot kaikille solmuille. Näiden ongelmien havaitsemiseen kuluva aika (keskimääräinen havaitsemisaika) ja niiden myöhempi ratkaiseminen (keskimääräinen korjausaika) määrää suurelta osin, kuinka kauan järjestelmä toimii heikentyneessä tilassa. Lisäksi mikä tahansa verkkotapahtuma, joka vaikuttaa vyöhykkeiden väliseen viestintään, voi merkittävästi haitata kirjoituspyyntöjä replikoinnin synkronisen luonteen vuoksi.
OpenSearch Service käyttää sisäistä solmujen välistä viestintäprotokollaa kirjoitusliikenteen replikointiin ja metatietojen päivitysten koordinointiin valitun johtajan kautta. Näin ollen stressiä kokevan vyöhykkeen asettaminen valmiustilaan ei poistaisi tehokkaasti kirjoitushäiriötä.
Vyöhykekirjoituksen vikasieto: katkaisee vyöhykkeiden välisen replikointiliikenteen
Valmiustilassa varustetulle Multi-AZ:lle vyöhykekirjoituksen vikasieto on tehokas tapa lieventää odottamattomien tapahtumien, kuten vyöhykevikojen ja verkkotapahtumien, aiheuttamia mahdollisia suorituskykyongelmia. Tämä lähestymistapa sisältää vaikutusalueen solmujen sulavan poistamisen klusterista, mikä katkaisee tehokkaasti sisään- ja ulostuloliikenteen vyöhykkeiden välillä. Katkaisemalla vyöhykkeiden välinen replikointiliikenne vyöhykkeiden vikojen vaikutukset voidaan rajoittaa vaikutusalueen sisällä. Tämä tarjoaa asiakkaille ennakoitavamman kokemuksen ja varmistaa, että järjestelmä toimii jatkossakin luotettavasti.
Suloinen kirjoitusvirhe
Valittu johtajasolmu suorittaa kirjoitusvirheen hallinnan OpenSearch Servicessä hyvin määritellyn mekanismin kautta. Tämä mekanismi sisältää konsensusprotokollan klusterin tilan julkaisemista varten, mikä varmistaa kaikkien solmujen yksimielisen yhteisymmärryksen yhden vyöhykkeen nimeämisestä (aina) käytöstä poistamista varten. Tärkeää on, että vahingoittuneeseen vyöhykkeeseen liittyvät metatiedot replikoidaan kaikissa solmuissa sen pysyvyyden varmistamiseksi jopa täydellisen uudelleenkäynnistyksen aikana käyttökatkon sattuessa.
Lisäksi johtosolmu varmistaa sujuvan ja sulavan siirtymisen asettamalla solmut ensin iskualueille valmiustilaan 5 minuutin ajaksi ennen I/O-aitauksen aloittamista. Tämä harkittu lähestymistapa estää uuden koordinaattoriliikenteen tai sirpalekyselyliikenteen ohjaamisen vaikutusalueen solmuihin. Tämä puolestaan antaa näiden solmujen suorittaa käynnissä olevat tehtävänsä sulavasti ja käsitellä asteittain mahdollisia lentopyyntöjä ennen kuin ne poistetaan käytöstä. Seuraava kaavio havainnollistaa tätä arkkitehtuuria.
Ottaessaan johtosolmun kirjoitusvirheenvaihtoa käyttöön OpenSearch Service noudattaa näitä avainvaiheita:
- Johtajan luopuminen – Jos johtosolmu sattuu olemaan vyöhykkeellä, joka on ajoitettu kirjoitusvirheenvaihdolle, järjestelmä varmistaa, että johtajasolmu luopuu johtoroolistaan vapaaehtoisesti. Luopuminen suoritetaan hallitusti ja koko prosessi siirretään toiselle kelvolliselle solmulle, joka sitten ottaa vastuulleen tarvittavat toimenpiteet.
- Estä poistettavan johtajan uudelleenvalinta – Estääkseen johtajan uudelleenvalinnan vyöhykkeeltä, joka on merkitty kirjoitusvirheenvaihtoon, se ryhtyy toimenpiteisiin varmistaakseen, että käytöstä poistettavat johtajasolmut eivät osallistu uusiin vaaleihin, kun kelvollinen johtajasolmu aloittaa kirjoitusvirhetoiminnon. Tämä saavutetaan sulkemalla pois käytöstä poistettava johtajasolmu äänestyskokoonpanosta, mikä estää tehokkaasti sitä äänestämästä klusterin toiminnan kriittisen vaiheen aikana.
Kirjoitusvirhevyöhykkeeseen liittyvät metatiedot tallennetaan klusterin tilaan, ja nämä tiedot julkaistaan kaikille hajautetun OpenSearch Service -klusterin solmuille seuraavasti:
Seuraava kuvakaappaus kuvaa, että vyöhykkeen verkon hidastumisen aikana kirjoitusvirheenvaihto auttaa palauttamaan saatavuuden.
Vyöhykepalautus kirjoitusvirheenvaihdon jälkeen
Vyöhykkeen uudelleenkäyttöönottoprosessilla on ratkaiseva rooli vyöhykkeen kirjoitusvirheen jälkeisessä palautusvaiheessa. Kun vaikutusalue on palautettu ja sitä pidetään vakaana, aiemmin käytöstä poistetut solmut liittyvät uudelleen klusteriin. Tämä uudelleenkäyttöönotto tapahtuu tyypillisesti 2 minuutin kuluessa vyöhykkeen uudelleen käyttöönotosta.
Tämä antaa heille mahdollisuuden synkronoida vertaissolmujensa kanssa ja aloittaa replikan sirpaleiden palautusprosessin, mikä palauttaa klusterin tehokkaasti haluttuun tilaan.
Yhteenveto
OpenSearch Service Multi-AZ:n käyttöönotto valmiustilassa tarjoaa yrityksille tehokkaan ratkaisun korkean käytettävyyden ja tasaisen suorituskyvyn saavuttamiseksi kriittisissä työkuormissa. Tämän käyttöönottovaihtoehdon avulla yritykset voivat parantaa infrastruktuurinsa kestävyyttä, yksinkertaistaa klusterin määritystä ja hallintaa sekä ottaa käyttöön parhaita käytäntöjä. OpenSearch Service Multi-AZ ja Standby takaavat luotettavan ja tehokkaan hakukokemuksen vaativiin yritysympäristöihin, ja niissä on ominaisuuksia, kuten painotettu round-robin-sirpaleiden valinta, ennakoivat vikasietomekanismit ja vika-avaa valmiustilan saatavuusvyöhykkeet.
Lisätietoja Multi-AZ:sta ja valmiustilasta on kohdassa Amazon OpenSearch-palvelu konepellin alla: Multi-AZ valmiustilassa.
kirjailijasta
Anshu Agarwal on vanhempi ohjelmistosuunnittelija, joka työskentelee AWS OpenSearchin parissa Amazon Web Services -palvelussa. Hän on intohimoinen skaalautuvien ja erittäin luotettavien järjestelmien rakentamiseen liittyvien ongelmien ratkaisemiseen.
Rishab Nahata on ohjelmistosuunnittelija, joka työskentelee OpenSearchin parissa Amazon Web Services -palvelussa. Hän on kiinnostunut ongelmien ratkaisemisesta hajautetuissa järjestelmissä. Hän on OpenSearchin aktiivinen avustaja.
Bukhtawar Khan on johtava insinööri, joka työskentelee Amazon OpenSearch Servicessä. Hän on kiinnostunut hajautetuista ja autonomisista järjestelmistä. Hän on OpenSearchin aktiivinen avustaja.
Ranjith Ramachandra on suunnittelupäällikkö, joka työskentelee Amazon OpenSearch Servicessä Amazon Web Services -palvelussa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: 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
- :ei
- :missä
- 1
- 10
- 100
- 12
- 30
- 501
- a
- Meistä
- Saavuttaa
- saavutettu
- tunnustettu
- poikki
- Toimia
- Toiminta
- toimet
- aktiivinen
- mukautuva
- Lisäksi
- osoite
- vaikuttaa
- Jälkeen
- sopimus
- algoritmi
- algoritmit
- Kaikki
- sallia
- Amazon
- Amazon Web Services
- keskuudessa
- an
- ja
- Toinen
- Kaikki
- lähestymistapa
- arkkitehtuuri
- OVAT
- AS
- osoitettu
- At
- autonominen
- autonomiset järjestelmät
- saatavuus
- tietoisuus
- AWS
- Varmuuskopiointi
- swing
- BE
- koska
- ollut
- ennen
- ovat
- PARAS
- parhaat käytännöt
- välillä
- sekä
- lähettää
- Rakentaminen
- yritykset
- by
- CAN
- Koko
- kuljettaa
- aiheutti
- tunnettu siitä,
- lataus
- tarkistettu
- Cluster
- Viestintä
- Yhteydenpito
- täydellinen
- Konfigurointi
- Yhteisymmärrys
- siis
- harkittu
- johdonmukainen
- Console
- sisälsi
- jatkuu
- jatkuva
- edistävät
- avustaja
- hallinnassa
- koordinoimalla
- Koordinaattori
- koordinaattorit
- kappaletta
- katettu
- luoda
- luo
- kriittinen
- ratkaiseva
- Asiakkaat
- leikkaus
- tiedot
- päättää
- syvä
- syväsukellus
- määrittelee
- viiveet
- kaivaa
- vaativa
- käyttöönotto
- lauennut
- nimetty
- suunniteltu
- haluttu
- havaita
- havaittu
- määrittää
- suunnattu
- Häiriö
- jaettu
- hajautetut järjestelmät
- sukellus
- do
- asiakirjat
- verkkotunnuksen
- verkkotunnuksia
- Dont
- alas
- kaksi
- kesto
- aikana
- kukin
- Tehokas
- tehokkaasti
- tehokas
- valittiin
- Vaalit
- oikeutettu
- poistamalla
- käytössä
- mahdollistaa
- valvoa
- insinööri
- Tekniikka
- parantaa
- tehostettu
- parantaa
- varmistaa
- varmistaa
- varmistamalla
- yritys
- Koko
- ympäristöissä
- erityisesti
- Eetteri (ETH)
- Jopa
- tapahtuma
- Tapahtumat
- lopulta
- Joka
- lukuun ottamatta
- experience
- kokevat
- tutkia
- epäonnistuu
- Epäonnistuminen
- epäonnistumisia
- Ominaisuus
- Ominaisuudet
- miekkailu
- Etunimi
- jälkeen
- seuraa
- varten
- FRAME
- alkaen
- koko
- edelleen
- gif
- sorja
- vähitellen
- taata
- käsi
- kahva
- Vetimet
- tapahtuu
- he
- terve
- auttaa
- Korkea
- erittäin
- huppu
- hotellit
- Miten
- http
- HTTPS
- tunnistaa
- if
- havainnollistaa
- Vaikutus
- vaikutti
- vajaatoiminta
- täytäntöönpanosta
- merkittävästi
- in
- sisältää
- ilmaisee
- tiedot
- Infrastruktuuri
- ensin
- Osaa aloittaa
- aloittamista
- tapauksia
- kiinnostunut
- sisäinen
- tulee
- käyttöön
- esittely
- liittyy
- kysymys
- kysymykset
- IT
- SEN
- jpg
- json
- avain
- tunnettu
- suureksi osaksi
- johtaja
- Johto
- pitää
- Lista
- kuormitus
- paikallisesti
- sijaitsevat
- Pitkät
- ylläpitää
- ylläpitäminen
- onnistui
- johto
- johtaja
- tapa
- merkitty
- Hyväksytty
- tarkoittaa
- välineet
- toimenpiteet
- mekanismi
- mekanismit
- Metadata
- Metrics
- minuutti
- pöytäkirja
- lieventää
- tila
- malli
- lisää
- liike
- luonto
- välttämätön
- Tarve
- verkko
- verkostoituminen
- Uusi
- Nro
- solmu
- solmut
- merkittävä
- objekti
- of
- pois
- on
- ONE
- jatkuva
- vain
- avata
- käyttää
- toiminta
- Operations
- Vaihtoehto
- or
- orkestrointi
- tilata
- Muut
- ulos
- sähkökatkos
- seisokkien
- yli
- osallistua
- osat
- intohimoinen
- polku
- polut
- vertainen
- suorituskyky
- sitkeys
- vaihe
- saattamisesta
- Platon
- Platonin tietotieto
- PlatonData
- soittaa
- Kirje
- mahdollinen
- voimakas
- käytännöt
- edeltävä
- Ennustettavissa
- estää
- estää
- estää
- aiemmin
- ensisijainen
- Pääasiallinen
- Ennakoiva
- ongelmia
- prosessi
- edistää
- protokolla
- toimittaa
- tarjoaa
- Julkaisu
- julkaistu
- Putting
- kyselyt
- Lue
- vastaanottaa
- vastaanottaa
- äskettäin
- toipua
- toipumassa
- elpyminen
- katso
- alue
- säännöllinen
- liittyvä
- merkityksellinen
- luotettavuus
- luotettava
- luottaa
- jäljellä oleva
- poistaminen
- korjaus
- vastaus
- monistaa
- replikointi
- pyyntö
- pyynnöt
- tarvitaan
- kimmoisuus
- kimmoisa
- ratkaisee
- vastuullinen
- palauttaa
- palautettu
- palauttaminen
- Rooli
- reititys
- ajaa
- toimii
- s
- takeita
- sama
- skaalautuva
- suunniteltu
- saumattomasti
- Haku
- valinta
- lähettäminen
- lähettää
- vanhempi
- lähetetty
- palvelu
- Palvelut
- setti
- hän
- esitetty
- merkittävästi
- yksinkertaisuus
- yksinkertaistaa
- single
- Hidasta
- hidastukset
- sujuvaa
- So
- Tuotteemme
- Software Engineer
- ratkaisu
- Solving
- vakaa
- Osavaltio
- Tila
- tasainen
- Askeleet
- tallennettu
- stressi
- Myöhemmin
- onnistunut
- herkkyys
- järjestelmä
- järjestelmät
- ottaa
- otettava
- vie
- tehtävät
- että
- -
- heidän
- Niitä
- sitten
- Siellä.
- Nämä
- tätä
- ne
- kolmella
- Kautta
- aika
- kertaa
- että
- toleranssi
- liikenne
- siirtyminen
- VUORO
- kaksi
- tyypillisesti
- varten
- taustalla oleva
- ennakoimaton
- Päivitykset
- käytetty
- käyttäjä
- käyttötarkoituksiin
- käyttämällä
- hyödyntää
- eri
- vapaaehtoisesti
- Äänestys
- we
- verkko
- verkkopalvelut
- paino
- HYVIN
- tarkkarajainen
- olivat
- kun
- joka
- vaikka
- tulee
- with
- sisällä
- työskentely
- toimii
- kirjoittaa
- zephyrnet
- nolla-
- alueet