Kaj so Saga Patterns v AWS?

Kaj So Saga Patterns V Aws



Aplikacije se selijo proti porazdeljenim arhitekturam in mikrostoritvam. Povzroča težave pri vzdrževanju podatkov in upravljanju kompleksnih transakcij. Saga vzorci ponujajo učinkovito rešitev. Spletne storitve Amazon (AWS) ponujajo številna orodja in storitve, ki poenostavijo izvajanje vzorcev Saga. Zagotavlja brezhibno upravljanje transakcij v porazdeljenih aplikacijah.

Ta članek bo pojasnil, kaj so saga vzorci, njihove komponente, podprte storitve AWS in njihove prednosti.







Kaj so Saga Patterns v AWS?

Saga vzorci so tehnika načrtovanja v arhitekturah mikrostoritev za pomoč pri distribuciji transakcij med drugimi storitvami, ki med seboj ustvarjajo poslovne procese. Izvajanje ene transakcije v več mikrostoritvah lahko povzroči nekaj težav, kot so težave z doslednostjo podatkov in napake v sistemu.



Vzorec Saga deluje tako, da porazdeljene transakcije razdeli na manjše transakcije, znane kot 'Koraki Sage' . Vsak 'Korak sage' predstavlja eno operacijo, povezano z mikrostoritvijo. Če enega ali več 'Koraki Sage' ne uspe, se takoj izvedejo potrebni ukrepi za obnovitev stanja aplikacije. Za razumevanje delovanja vzorca sage si oglejte spodnjo sliko:







Spoznajmo njegove ključne sestavine:

Katere so komponente vzorcev Saga v AWS?

Popolna mikrostoritvena rešitev zahteva več storitev v porazdeljeni arhitekturi. Saga vzorec ima nekaj ključnih komponent, kot so:



  • Saga Step
  • Saga Orchestrator
  • Odškodnina

Na kratko razpravljajmo o teh komponentah.

Saga Step

Koraki Saga so mikrostoritvene operacije ali naloge, ki se izvajajo kot del porazdeljenih transakcij in nimajo negativnih stranskih učinkov. Ponavljajo se večkrat in pri večkratnem izvajanju ne pride do stranskih učinkov.

Saga Orchestrator

Primarna odgovornost orkestratorja sage je upravljanje in spremljanje vsakega koraka pri uspešnem zaključku sage. Zažene porazdeljene transakcije, ko so sprejeti ustrezni koraki. Zagotavlja tudi nadomestilo, če kateri koli korak ne uspe.

Odškodnina

Ko med procesom sage naletimo na napako, njen orkestrator hitro in odločno ukrepa, da spremeni spremembe, uvedene s prejšnjimi koraki. To zagotavlja, da sistem vzdržuje red tudi v primeru napak.

To so bile glavne sestavine vzorca sage. Pogovorimo se o storitvah AWS, ki podpirajo vzorce Saga.

Kakšni so vzorci podprtih storitev Saga v AWS?

To so storitve, ki jih ponuja Amazon in sledijo vzorcem sage:

  • Funkcije korakov AWS
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS in SQS
  • Amazon API Gateway
  • AWS CDK
  • AWS SAM

Funkcije korakov AWS

Amazon Web Services Step Functions je v celoti upravljana storitev, zasnovana za olajšanje delovnih tokov in upravljanja mikrostoritev, tako da razvijalcem zagotovi avtomate stanja, ki predstavljajo kompleksne avtomate stanja (vzorci sage). Razvijalci lahko oblikujejo porazdeljene transakcije z uporabo funkcij korakov, medtem ko jih učinkovito orkestrirajo.

AWS Lambda

Brezstrežniška računalniška storitev Lambda Amazon Web Services razvijalcem omogoča izvajanje kode brez neposrednega upravljanja strežnikov. Omogoča vzorce sage z ustvarjanjem funkcij Lambda, ki predstavljajo vsak korak na korenski ravni. Razvijalci, ki uporabljajo funkcije Lambda za predstavljanje korakov, jih lahko učinkovito uporabijo pri predstavljanju posameznih korakov sage prek Lambda.

Amazon DynamoDB

Amazon DynamoDB je storitev baze podatkov NoSQL podjetja AWS, ki je v celoti upravljana. Ponuja zanesljive možnosti shranjevanja podatkov. Saga orkestratorji lahko uporabijo DynamoDB za sledenje porazdeljenih transakcij med napredovanjem.

Amazon SNS in SQS

Za ustvarjanje komunikacije na podlagi dogodkov med mikrostoritvami sta Amazon Simple Notification Service (SNS) in Simple Queue Service (SQS) združeni. Koraki Saga uporabljajo te storitve za objavo sporočil drugim mikrostoritvam po izvedbi določenih operacij. Te storitve nato obvestijo druge mikrostoritve o stanju dokončanja in posodobitvah stanja.

Amazon API Gateway

Amazon API Gateway je Amazonova storitev v oblaku za ustvarjanje, objavljanje in upravljanje API-jev. Te API-je je mogoče prilagoditi na poljubno želeno raven. Ta storitev povezuje uporabnika z AWS Lambda. Lambda je nadalje povezana s stopenjskimi funkcijami, ki sledijo vzorcem sage.

AWS CDK

AWS Cloud Development Kit (CDK) je okvir in orodje za ustvarjanje in uvajanje prilagojenih rešitev v oblaku. Je odprtokodna storitev. S tem orodjem je mogoče namestiti aplikacije, zgrajene na arhitekturi in oblikovanju vzorcev sage.

AWS SAM

Model brezstrežniške aplikacije AWS se uporablja za ustvarjanje brezstrežniških aplikacij. Ta okvir je tudi odprtokoden. Vsako aplikacijo, ki uporablja vzorec Saga, je mogoče ustvariti brez zagotavljanja strežnikov, ki uporabljajo AWS SAM.

Obstajale so storitve AWS, ki podpirajo vzorce sage. Pogovorimo se o prednostih, ki jih ponujajo saga vzorci.

Kakšne so prednosti vzorcev Saga v AWS?

Nekaj ​​prednosti, ki jih ponujajo saga vzorci, je spodaj:

  • Distribuirano upravljanje transakcij
  • Doslednost podatkov
  • Toleranca napak
  • Razširljivost
  • O prednostih se pogovorimo podrobneje.

    Distribuirano upravljanje transakcij

    Vzorci Saga zagotavljajo preprosto, a učinkovito rešitev za obravnavanje porazdeljenih transakcij v arhitekturah mikrostoritev. Z razdelitvijo transakcij na obvladljive korake pomagajo poenostaviti zapletene delovne tokove.

    Doslednost podatkov

    Nadomestni ukrepi so zasnovani tako, da ohranjajo konsistentnost podatkov tudi ob delnih okvarah sistema in delnih transakcijah. Razvijalci lahko dosežejo ravnotežno stanje ne glede na rezultate transakcij v porazdeljenih sistemih z uporabo vzorcev sage.

    Toleranca napak

    Vzorci Saga zagotavljajo arhitekture mikrostoritev z izboljšano toleranco do napak z obravnavanjem napak na ravni vsakega koraka in kompenzacijo napak. Posledično se lahko sistemi, ki jih uporabljajo, hitro obnovijo po delnih napakah transakcije, ne da bi to vplivalo na splošno delovanje aplikacije.

    Razširljivost

    Vzorci Saga ponujajo vodoravno razširljivost, ki omogoča sistemom, da obvladajo povečano transakcijsko obremenitev z dodajanjem več primerkov mikrostoritev. Takšna prilagodljivost je neprecenljiva za sodobne aplikacije, ki se morajo učinkovito spopasti z nihajočimi delovnimi obremenitvami.

    To je bilo vse o vzorcih sage in njihovih komponentah ter uporabi v storitvah AWS.

    Zaključek

    Vzorci Saga zagotavljajo učinkovit pristop za obravnavanje porazdeljenih transakcij znotraj arhitektur mikrostoritev. AWS Step Functions, Lambda, DynamoDB, SNS in SQS je le nekaj storitev AWS, ki podpirajo ta vzorec. Ta članek je izčrpno razložil vzorec sage in njegovo delovanje.