Što su Saga uzorci u AWS-u?

Sto Su Saga Uzorci U Aws U



Aplikacije migriraju prema distribuiranim arhitekturama i mikroservisima. Uzrokuje probleme u održavanju podataka i upravljanju složenim transakcijama. Saga uzorci nude učinkovito rješenje. Amazon Web Services (AWS) pruža brojne alate i usluge koji implementaciju Saga uzoraka čine jednostavnom. Osigurava besprijekorno upravljanje transakcijama kroz distribuirane aplikacije.

Ovaj članak će objasniti što su saga uzorci, njihove komponente, podržane AWS usluge i njihove prednosti.







Što su Saga uzorci u AWS-u?

Saga obrasci su tehnika dizajna u arhitekturama mikroservisa koja pomaže u distribuciji transakcija preko drugih servisa koji u interakciji stvaraju poslovne procese. Izvršavanje jedne transakcije preko više mikroservisa može uzrokovati neke poteškoće kao što su problemi s dosljednošću podataka i kvar sustava.



Saga uzorak funkcionira razbijanjem distribuiranih transakcija u manje transakcije poznate kao “Koraci sage” . Svaki 'Korak sage' predstavlja jednu operaciju vezanu uz mikroservis. Ako jedan ili više “Koraci sage” ne uspije, odmah se poduzimaju potrebne radnje za vraćanje stanja aplikacije. Pogledajte donju sliku da biste razumjeli rad uzorka sage:







Naučimo o njegovim ključnim komponentama:

Koje su komponente Saga obrazaca u AWS-u?

Cjelovito mikrouslužno rješenje zahtijeva nekoliko usluga u distribuiranoj arhitekturi. Saga uzorak ima nekoliko ključnih komponenti, kao što su:



  • Saga Step
  • Saga Orchestrator
  • Kompenzacija

Raspravimo ukratko ove komponente.

Saga Step

Saga koraci su operacije mikroservisa ili zadaci koji se izvode kao dio distribuiranih transakcija koje nemaju negativne nuspojave. Ponavljaju se više puta i ponovljenim izvođenjem ne dolazi do nuspojava.

Saga Orchestrator

Primarna odgovornost orkestratora sage je upravljanje i praćenje svakog koraka u uspješnom završetku sage. Pokreće distribuirane transakcije kada se poduzmu odgovarajući koraci. Također pruža kompenzaciju ako bilo koji korak ne uspije.

Kompenzacija

Kada se tijekom procesa sage naiđe na pogrešku, njen orkestrator poduzima brze i odlučne radnje kako bi vratio izmjene uvedene prethodnim koracima. Time se osigurava da sustav održava red čak i u slučaju grešaka.

To su bile primarne komponente obrasca sage. Raspravljajmo o AWS uslugama koje podržavaju saga obrasce.

Koji su uzorci Sage podržanih usluga u AWS-u?

Ovo su usluge koje nudi Amazon i koje slijede obrasce sage:

  • AWS Step Funkcije
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS i SQS
  • Amazon API Gateway
  • AWS CDK
  • AWS SAM

AWS Step Funkcije

Amazon Web Services Step Functions potpuno je upravljana usluga osmišljena da olakša tijek rada i upravljanje mikrouslugama pružajući programerima automate stanja koji predstavljaju složene automate stanja (saga obrasci). Programeri mogu dizajnirati distribuirane transakcije korištenjem funkcija koraka dok ih učinkovito orkestriraju.

AWS Lambda

Računalna usluga Lambda bez poslužitelja Amazon Web Services omogućuje programerima pokretanje koda bez izravnog upravljanja poslužiteljima. Omogućuje saga obrasce stvaranjem Lambda funkcija koje predstavljaju svaki korak na korijenskoj razini. Programeri koji koriste Lambda funkcije za predstavljanje koraka mogu ih učinkovito koristiti kada predstavljaju pojedinačne korake sage kroz Lambdas.

Amazon DynamoDB

Amazon DynamoDB je NoSQL servis baze podataka tvrtke AWS kojim se u potpunosti upravlja. Nudi pouzdane mogućnosti pohrane podataka. Saga orkestratori mogu koristiti DynamoDB za praćenje distribuiranih transakcija kako napreduju.

Amazon SNS i SQS

Za stvaranje komunikacije vođene događajima između mikroservisa kombiniraju se Amazon Simple Notification Service (SNS) i Simple Queue Service (SQS). Saga koraci koriste ove usluge za objavljivanje poruka drugim mikroservisima nakon izvođenja određenih operacija. Ove usluge zatim obavještavaju druge mikroservise o statusu dovršetka i ažuriranju statusa.

Amazon API Gateway

Amazon API Gateway Amazonova je usluga u oblaku za stvaranje, objavljivanje i upravljanje API-jima. Ovi API-ji mogu se skalirati na bilo koju željenu razinu. Ova usluga povezuje korisnika s AWS Lambda. Lambda je dalje povezana s funkcijama koraka koje slijede uzorke sage.

AWS CDK

AWS Cloud Development Kit (CDK) okvir je i alat za stvaranje i implementaciju prilagođenih rješenja u oblaku. To je usluga otvorenog koda. Aplikacije izgrađene na arhitekturi i dizajnu obrazaca sage mogu se implementirati pomoću ovog alata.

AWS SAM

AWS Serverless Application model se koristi za kreiranje serverless aplikacija. Ovaj okvir je također otvorenog koda. Bilo koja aplikacija koja koristi saga uzorak može se izraditi bez pružanja poslužitelja koji koriste AWS SAM.

Postojale su AWS usluge koje podržavaju saga obrasce. Raspravljajmo o prednostima koje nude saga obrasci.

Koje su prednosti Saga uzoraka u AWS-u?

Neke od prednosti koje saga obrasci pružaju su u nastavku:

  • Distribuirano upravljanje transakcijama
  • Dosljednost podataka
  • Tolerancija kvarova
  • Skalabilnost
  • Razgovarajmo o prednostima u detalje.

    Distribuirano upravljanje transakcijama

    Saga uzorci pružaju jednostavno, ali učinkovito rješenje za rukovanje distribuiranim transakcijama u mikroservisnim arhitekturama. Rastavljanjem transakcija na korake kojima se može upravljati, oni pomažu pojednostaviti složene tijekove rada.

    Dosljednost podataka

    Kompenzacijske radnje osmišljene su za održavanje dosljednosti podataka čak i u slučaju djelomičnih kvarova sustava i djelomičnih transakcija. Programeri mogu postići stanje ravnoteže bez obzira na rezultate transakcije u distribuiranim sustavima koji koriste saga obrasce.

    Tolerancija kvarova

    Saga obrasci pružaju arhitekture mikroservisa s poboljšanom tolerancijom na greške rukovanjem kvarovima na razini svakog koraka i kompenzacijom grešaka. Kao rezultat toga, sustavi koji ih koriste mogu se brzo oporaviti od djelomičnih neuspjeha transakcija bez utjecaja na ukupnu izvedbu aplikacije.

    Skalabilnost

    Saga uzorci nude horizontalnu skalabilnost, što sustavima omogućuje da se nose s povećanim transakcijskim opterećenjem dodavanjem više instanci mikroservisa. Takva je fleksibilnost neprocjenjiva za moderne aplikacije koje se moraju učinkovito nositi s promjenjivim radnim opterećenjima.

    Ovo je bilo sve o saga obrascima i njihovim komponentama i upotrebi u AWS uslugama.

    Zaključak

    Saga obrasci pružaju učinkovit pristup za rukovanje distribuiranim transakcijama unutar mikroservisnih arhitektura. AWS Step Functions, Lambda, DynamoDB, SNS i SQS samo su neke AWS usluge koje podržavaju ovaj obrazac. Ovaj je članak sveobuhvatno objasnio obrazac sage i njegovo funkcioniranje.