Mitä Saga-kuviot ovat AWS:ssä?

Mita Saga Kuviot Ovat Aws Ssa



Sovellukset ovat siirtymässä kohti hajautettuja arkkitehtuureja ja mikropalveluita. Se aiheuttaa ongelmia tietojen ylläpidossa ja monimutkaisten tapahtumien hallinnassa. Saga-kuviot tarjoavat tehokkaan ratkaisun. Amazon Web Services (AWS) tarjoaa lukuisia työkaluja ja palveluita, jotka tekevät Saga-mallien toteuttamisesta helppoa. Se varmistaa saumattoman tapahtumien hallinnan hajautettujen sovellusten välillä.

Tässä artikkelissa kerrotaan, mitä saagakuviot ovat, niiden komponentit, tuetut AWS-palvelut ja niiden edut.







Mitä Saga-kuviot ovat AWS:ssä?

Saga-mallit ovat mikropalveluarkkitehtuurien suunnittelutekniikka, joka auttaa jakamaan tapahtumia muiden palveluiden kesken, jotka ovat vuorovaikutuksessa liiketoimintaprosessien luomiseksi. Yhden tapahtuman suorittaminen useissa mikropalveluissa voi aiheuttaa vaikeuksia, kuten tietojen johdonmukaisuusongelmia ja järjestelmävirheitä.



Saga-malli toimii jakamalla hajautetut tapahtumat pienempiin tapahtumiin, jotka tunnetaan nimellä 'Sagan askeleet' . Jokainen 'Saga-askel' edustaa yhtä mikropalveluun liittyvää toimintoa. Jos yksi tai useampi 'Sagan askeleet' epäonnistuu, tarvittavat toimenpiteet suoritetaan välittömästi sovelluksen tilan palauttamiseksi. Katso alla olevasta kuvasta ymmärtääksesi saagakuvion toiminnan:







Opitaanpa sen tärkeimmistä osista:

Mitkä ovat AWS:n Saga-kuvioiden komponentit?

Täydellinen mikropalveluratkaisu vaatii useita palveluja hajautetussa arkkitehtuurissa. Saagakuviossa on muutamia avainkomponentteja, kuten:



  • Saagan vaihe
  • Saga Orkesteri
  • Korvaus

Tarkastellaanpa näitä komponentteja lyhyesti.

Saagan vaihe

Saga-vaiheet ovat mikropalvelutoimintoja tai tehtäviä, jotka suoritetaan osana hajautettuja tapahtumia, joilla ei ole negatiivisia sivuvaikutuksia. Ne toistetaan useita kertoja, eikä sivuvaikutuksia esiinny toistuvalla toteutuksella.

Saga Orkesteri

Saagan orkesterin ensisijainen vastuu on saagan jokaisen vaiheen hallinta ja seuranta onnistuneesti. Se aloittaa hajautetut tapahtumat, kun asianmukaiset toimenpiteet on toteutettu. Se tarjoaa myös korvauksen, jos jokin vaihe epäonnistuu.

Korvaus

Kun saagaprosessin aikana havaitaan virhe, sen järjestäjä ryhtyy nopeisiin ja päättäväisiin toimiin muuttaakseen takaisin aikaisempien vaiheiden tuomia muutoksia. Tämä varmistaa, että järjestelmä ylläpitää järjestystä myös virhetilanteissa.

Nämä olivat saagakuvion pääkomponentit. Keskustellaanpa AWS-palveluista, jotka tukevat saagamalleja.

Mitkä ovat AWS:n tuetut palvelut Saga-mallit?

Nämä ovat Amazonin tarjoamia palveluita, jotka noudattavat saagamalleja:

  • AWS-askeltoiminnot
  • AWS lambda
  • Amazon DynamoDB
  • Amazon SNS ja SQS
  • Amazon API Gateway
  • AWS CDK
  • AWS SAM

AWS-askeltoiminnot

Amazon Web Services Step Functions on täysin hallittu palvelu, joka on suunniteltu helpottamaan työnkulkuja ja mikropalvelujen hallintaa tarjoamalla kehittäjille tilakoneita, jotka edustavat monimutkaisia ​​tilakoneita (saga-malleja). Kehittäjät voivat suunnitella hajautettuja tapahtumia käyttämällä Step Functions -toimintoja ja organisoida niitä tehokkaasti.

AWS lambda

Amazon Web Services Lambda-palvelimeton tietokonepalvelu antaa kehittäjille mahdollisuuden suorittaa koodia hallitsematta palvelimia suoraan. Se tekee saagakuvioista mahdollisia luomalla Lambda-funktioita, jotka edustavat jokaista vaihetta juuritasolla. Kehittäjät, jotka käyttävät Lambda-funktioita vaiheiden esittämiseen, voivat hyödyntää sitä tehokkaasti esittäessään yksittäisiä saaga-askeleita Lambdaen kautta.

Amazon DynamoDB

Amazon DynamoDB on täysin hallittu AWS:n NoSQL-tietokantapalvelu. Se tarjoaa luotettavia tiedon tallennusvaihtoehtoja. Saga-orkesterit voivat hyödyntää DynamoDB:tä hajautettujen tapahtumien seuraamiseen niiden edistyessä.

Amazon SNS ja SQS

Tapahtumapohjaisen viestinnän luomiseksi mikropalvelujen välillä Amazon Simple Notification Service (SNS) ja Simple Queue Service (SQS) yhdistetään. Saga-vaiheet käyttävät näitä palveluita viestien julkaisemiseen muille mikropalveluille tiettyjen toimintojen suorittamisen jälkeen. Nämä palvelut ilmoittavat sitten muille mikropalveluille valmistumisen tilasta ja tilapäivityksistä.

Amazon API Gateway

Amazon API Gateway on Amazonin pilvipalvelu sovellusliittymien luomiseen, julkaisemiseen ja hallintaan. Nämä API:t voidaan skaalata mille tahansa halutulle tasolle. Tämä palvelu yhdistää käyttäjän AWS Lambdaan. Lambda on edelleen kytketty askeltoimintoihin, jotka seuraavat saagakuvioita.

AWS CDK

AWS Cloud Development Kit (CDK) on kehys ja työkalu mukautettujen pilviratkaisujen luomiseen ja käyttöönottoon. Se on avoimen lähdekoodin palvelu. Saga-kuvioiden arkkitehtuuriin ja suunnitteluun rakennettuja sovelluksia voidaan ottaa käyttöön tällä työkalulla.

AWS SAM

AWS Serverless Application -mallia käytetään palvelimettomien sovellusten luomiseen. Tämä kehys on myös avoimen lähdekoodin. Mikä tahansa saaga-mallia käyttävä sovellus voidaan luoda ilman AWS SAM -palvelimia.

Siellä oli AWS-palveluita, jotka tukevat saagamalleja. Keskustellaan saagakuvioiden tarjoamista eduista.

Mitkä ovat AWS:n Saga-kuvioiden edut?

Jotkut saagakuvioiden tarjoamista eduista ovat alla:

  • Hajautettu tapahtumien hallinta
  • Tietojen johdonmukaisuus
  • Vikasietoisuus
  • Skaalautuvuus
  • Keskustelemme eduista yksityiskohtaisesti.

    Hajautettu tapahtumien hallinta

    Saga-mallit tarjoavat yksinkertaisen mutta tehokkaan ratkaisun hajautettujen tapahtumien käsittelyyn mikropalveluarkkitehtuureissa. Jakamalla tapahtumat hallittaviin vaiheisiin ne auttavat virtaviivaistamaan monimutkaisia ​​työnkulkuja.

    Tietojen johdonmukaisuus

    Kompensointitoimenpiteet on suunniteltu säilyttämään tietojen johdonmukaisuus jopa osittaisissa järjestelmävioissa ja osittaisissa tapahtumissa. Kehittäjät voivat saavuttaa tasapainotilan tapahtumatuloksista riippumatta hajautetuissa järjestelmissä saagakuvioita käyttäen.

    Vikasietoisuus

    Saga-mallit tarjoavat mikropalveluarkkitehtuureille paremman vikasietokyvyn käsittelemällä vikoja jokaisella askeltasolla ja kompensoimalla virheet. Tämän seurauksena niitä käyttävät järjestelmät voivat toipua nopeasti osittaisista tapahtumavirheistä vaikuttamatta sovelluksen yleiseen suorituskykyyn.

    Skaalautuvuus

    Saga-mallit tarjoavat horisontaalisen skaalautuvuuden, minkä ansiosta järjestelmät voivat käsitellä lisääntynyttä tapahtumakuormaa lisäämällä mikropalveluinstanssia. Tällainen joustavuus on korvaamaton nykyaikaisille sovelluksille, joiden on selviydyttävä tehokkaasti vaihtelevista työkuormista.

    Tässä oli kyse saagakuvioista ja niiden osista ja käytöstä AWS-palveluissa.

    Johtopäätös

    Saga-mallit tarjoavat tehokkaan tavan käsitellä hajautettuja tapahtumia mikropalveluarkkitehtuureissa. AWS Step Functions, Lambda, DynamoDB, SNS ja SQS ovat vain muutamia AWS-palveluita, jotka tukevat tätä mallia. Tässä artikkelissa on selitetty kattavasti saagakuvio ja sen toiminta.