Čo sú vzory ságy v AWS?

Co Su Vzory Sagy V Aws



Aplikácie migrujú smerom k distribuovaným architektúram a mikroslužbám. Spôsobuje problémy pri udržiavaní údajov a správe zložitých transakcií. Ságové vzory ponúkajú efektívne riešenie. Amazon Web Services (AWS) poskytuje množstvo nástrojov a služieb, ktoré zjednodušujú implementáciu vzorov Saga. Zabezpečuje bezproblémovú správu transakcií naprieč distribuovanými aplikáciami.

Tento článok vysvetlí, čo sú vzory ságy, ich komponenty, podporované služby AWS a ich výhody.







Čo sú vzory ságy v AWS?

Vzory ságy sú dizajnovou technikou v architektúrach mikroslužieb, ktorá pomáha distribuovať transakcie v rámci iných služieb, ktoré interagujú a vytvárajú obchodné procesy. Vykonanie jednej transakcie vo viacerých mikroslužbách môže spôsobiť určité ťažkosti, ako sú problémy s konzistenciou údajov a zlyhanie systému.



Vzorec Saga funguje tak, že rozdeľuje distribuované transakcie na menšie transakcie známe ako „Kroky ságy“ . Každý 'Krok ságy' predstavuje jednu operáciu súvisiacu s mikroslužbou. Ak jeden alebo viac „Kroky ságy“ zlyhajú, okamžite sa vykonajú potrebné kroky na obnovenie stavu aplikácie. Ak chcete pochopiť fungovanie vzoru ságy, pozrite si obrázok nižšie:







Dozvieme sa o jeho kľúčových zložkách:

Aké sú komponenty ságových vzorov v AWS?

Kompletné riešenie mikroslužieb vyžaduje niekoľko služieb v distribuovanej architektúre. Sága vzor má niekoľko kľúčových komponentov, ako napríklad:



  • Krok ságy
  • Sága Orchestrator
  • Odškodnenie

Poďme stručne diskutovať o týchto komponentoch.

Krok ságy

Kroky ságy sú mikroservisné operácie alebo úlohy vykonávané ako súčasť distribuovaných transakcií, ktoré nemajú žiadne negatívne vedľajšie účinky. Opakujú sa viackrát a pri opakovanom vykonávaní nevznikajú žiadne vedľajšie účinky.

Sága Orchestrator

Hlavnou zodpovednosťou orchestrátora ságy je riadenie a monitorovanie každého kroku úspešného dokončenia ságy. Po vykonaní vhodných krokov spustí distribuované transakcie. Poskytuje tiež kompenzáciu, ak niektorý krok zlyhá.

Odškodnenie

Keď sa počas procesu ságy vyskytne chyba, jej orchestrátor podnikne rýchle a rozhodné kroky, aby zmenil späť zmeny zavedené predchádzajúcimi krokmi. To zaisťuje, že systém udrží poriadok aj v prípade chýb.

Toto boli primárne zložky vzoru ságy. Poďme diskutovať o službách AWS, ktoré podporujú vzory ságy.

Aké sú vzory ságy podporovaných služieb v AWS?

Toto sú služby, ktoré ponúka Amazon a ktoré sa riadia ságami:

  • Funkcie krokov AWS
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS a SQS
  • Amazon API brána
  • AWS CDK
  • AWS SAM

Funkcie krokov AWS

Amazon Web Services Step Functions je plne riadená služba navrhnutá tak, aby uľahčila pracovné toky a správu mikroslužieb tým, že vývojárom poskytuje stavové stroje predstavujúce zložité stavové stroje (sága vzory). Vývojári môžu navrhovať distribuované transakcie pomocou krokových funkcií a zároveň ich efektívne organizovať.

AWS Lambda

Bezserverová počítačová služba Lambda od Amazon Web Services umožňuje vývojárom spúšťať kód bez priamej správy serverov. Umožňuje sága vzory vytvorením funkcií Lambda reprezentujúcich každý krok na koreňovej úrovni. Vývojári používajúci funkcie Lambda na reprezentáciu krokov ju môžu efektívne využiť pri reprezentácii jednotlivých krokov ságy prostredníctvom Lambdas.

Amazon DynamoDB

Amazon DynamoDB je databázová služba NoSQL od AWS, ktorá je plne spravovaná. Ponúka spoľahlivé možnosti ukladania dát. Orchestrátori Saga môžu využívať DynamoDB na sledovanie distribuovaných transakcií počas ich postupu.

Amazon SNS a SQS

Na vytvorenie udalosti riadenej komunikácie medzi mikroslužbami sa kombinujú služby Amazon Simple Notification Service (SNS) a Simple Queue Service (SQS). Kroky Saga používajú tieto služby na zverejňovanie správ do iných mikroslužieb po vykonaní konkrétnych operácií. Tieto služby potom informujú ostatné mikroslužby o stave dokončenia a aktualizáciách stavu.

Amazon API brána

Amazon API Gateway je cloudová služba od Amazonu na vytváranie, publikovanie a správu API. Tieto API môžu byť škálované na akúkoľvek požadovanú úroveň. Táto služba pripája používateľa k AWS Lambda. Lambda je ďalej spojená s krokovými funkciami, ktoré sledujú sága vzory.

AWS CDK

AWS Cloud Development Kit (CDK) je rámec a nástroj na vytváranie a nasadzovanie vlastných cloudových riešení. Ide o službu s otvoreným zdrojovým kódom. Pomocou tohto nástroja možno nasadiť aplikácie postavené na architektúre a dizajne sága vzorov.

AWS SAM

Model AWS Serverless Application sa používa na vytváranie aplikácií bez servera. Tento rámec je tiež open source. Akákoľvek aplikácia využívajúca sága vzor môže byť vytvorená bez poskytovania serverov pomocou AWS SAM.

Existovali služby AWS, ktoré podporujú vzory ságy. Poďme diskutovať o výhodách, ktoré sága vzory ponúkajú.

Aké sú výhody vzorov Saga v AWS?

Niektoré z výhod, ktoré poskytujú vzory ságy, sú uvedené nižšie:

  • Riadenie distribuovaných transakcií
  • Konzistencia údajov
  • Odolnosť proti chybám
  • Škálovateľnosť
  • Poďme diskutovať o výhodách podrobne.

    Riadenie distribuovaných transakcií

    Vzory Saga poskytujú jednoduché, ale efektívne riešenie na spracovanie distribuovaných transakcií v architektúrach mikroslužieb. Rozdelením transakcií do spravovateľných krokov pomáhajú zefektívniť komplexné pracovné postupy.

    Konzistencia údajov

    Kompenzačné akcie sú navrhnuté tak, aby zachovali konzistentnosť údajov aj pri čiastočných systémových zlyhaniach a čiastkových transakciách. Vývojári môžu dosiahnuť rovnovážny stav bez ohľadu na výsledky transakcií v distribuovaných systémoch pomocou sága vzorov.

    Odolnosť proti chybám

    Vzory Saga poskytujú mikroservisným architektúram vylepšenú odolnosť voči chybám tým, že riešia zlyhania na každej úrovni kroku a kompenzujú chyby. Výsledkom je, že systémy, ktoré ich používajú, sa môžu rýchlo zotaviť z čiastočných zlyhaní transakcií bez ovplyvnenia celkového výkonu aplikácie.

    Škálovateľnosť

    Vzory Saga ponúkajú horizontálnu škálovateľnosť, ktorá umožňuje systémom zvládnuť zvýšené transakčné zaťaženie pridaním ďalších inštancií mikroslužieb. Takáto flexibilita je neoceniteľná pre moderné aplikácie, ktoré sa musia efektívne vysporiadať s kolísavým pracovným zaťažením.

    Toto bolo všetko o vzoroch ságy a ich komponentoch a použití v službách AWS.

    Záver

    Saga vzory poskytujú efektívny prístup na spracovanie distribuovaných transakcií v rámci mikroslužieb. AWS Step Functions, Lambda, DynamoDB, SNS a SQS sú len niektoré služby AWS, ktoré podporujú tento vzor. Tento článok podrobne vysvetlil ságu a jej fungovanie.