Co jsou vzory Saga v AWS?

Co Jsou Vzory Saga V Aws



Aplikace migrují na distribuované architektury a mikroslužby. Způsobuje potíže s údržbou dat a správou složitých transakcí. Ságové vzory nabízejí efektivní řešení. Amazon Web Services (AWS) poskytuje řadu nástrojů a služeb, které usnadňují implementaci vzorů Saga. Zajišťuje bezproblémovou správu transakcí napříč distribuovanými aplikacemi.

Tento článek vysvětlí, co jsou vzory ságy, jejich součásti, podporované služby AWS a jejich výhody.







Co jsou vzory Saga v AWS?

Saga vzory jsou návrhovou technikou v architektuře mikroslužeb, která pomáhá distribuovat transakce mezi další služby, které interagují a vytvářejí obchodní procesy. Provedení jedné transakce přes více mikroslužeb může způsobit určité potíže, jako jsou problémy s konzistencí dat a selhání systému.



Vzor Saga funguje tak, že rozděluje distribuované transakce na menší transakce známé jako 'Kroky ságy' . Každý 'Krok ságy' představuje jednu operaci související s mikroslužbou. Pokud jeden nebo více 'Kroky ságy' selžou, jsou okamžitě provedeny nezbytné akce k obnovení stavu aplikace. Podívejte se na níže uvedený obrázek, abyste pochopili fungování vzoru ságy:







Pojďme se seznámit s jeho hlavními složkami:

Jaké jsou součásti ságových vzorů v AWS?

Kompletní řešení mikroslužeb vyžaduje několik služeb v distribuované architektuře. Vzor ságy má několik klíčových součástí, jako například:



  • Krok ságy
  • Orchestr ságy
  • Kompenzace

Pojďme si tyto komponenty krátce probrat.

Krok ságy

Kroky ságy jsou operace mikroslužeb nebo úkoly prováděné jako součást distribuovaných transakcí, které nemají žádné negativní vedlejší účinky. Opakují se vícekrát a při opakovaném provádění nedochází k žádným vedlejším účinkům.

Orchestr ságy

Primární odpovědností orchestrátora ságy je řízení a sledování každého kroku úspěšného dokončení ságy. Jakmile jsou podniknuty příslušné kroky, zahájí distribuované transakce. Poskytuje také kompenzaci, pokud některý krok selže.

Kompenzace

Když během procesu ságy dojde k chybě, její orchestrátor podnikne rychlé a rozhodné kroky, aby změnil zpět úpravy provedené předchozími kroky. Tím je zajištěno, že systém udržuje pořádek i v případě chyb.

To byly primární složky vzoru ságy. Pojďme diskutovat o službách AWS, které podporují vzory ságy.

Jaké jsou vzory ságy podporovaných služeb v AWS?

Toto jsou služby nabízené Amazonem, které se řídí vzorem ságy:

  • Funkce kroku AWS
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS a SQS
  • Amazon API Gateway
  • AWS CDK
  • AWS SAM

Funkce kroku AWS

Amazon Web Services Step Functions je plně spravovaná služba navržená k usnadnění pracovních postupů a správy mikroslužeb tím, že vývojářům poskytuje stavové stroje představující složité stavové stroje (sága vzory). Vývojáři mohou navrhovat distribuované transakce pomocí funkcí Step Functions a zároveň je efektivně organizovat.

AWS Lambda

Bezserverová počítačová služba Lambda od Amazon Web Services umožňuje vývojářům spouštět kód bez přímé správy serverů. Umožňuje ságové vzory vytvořením funkcí Lambda reprezentujících každý krok na kořenové úrovni. Vývojáři používající funkce Lambda pro reprezentaci kroků ji mohou efektivně využít při reprezentaci jednotlivých kroků ságy prostřednictvím Lambdas.

Amazon DynamoDB

Amazon DynamoDB je databázová služba NoSQL od AWS, která je plně spravována. Nabízí spolehlivé možnosti ukládání dat. Orchestrátoři Saga mohou využít DynamoDB pro sledování distribuovaných transakcí, jak postupují.

Amazon SNS a SQS

Chcete-li vytvořit událostmi řízenou komunikaci mezi mikroslužbami, jsou spojeny Amazon Simple Notification Service (SNS) a Simple Queue Service (SQS). Kroky Saga používají tyto služby k publikování zpráv do jiných mikroslužeb po provedení konkrétních operací. Tyto služby pak informují ostatní mikroslužby o stavu dokončení a aktualizacích stavu.

Amazon API Gateway

Amazon API Gateway je cloudová služba společnosti Amazon pro vytváření, publikování a správu rozhraní API. Tato rozhraní API lze škálovat na libovolnou požadovanou úroveň. Tato služba připojí uživatele k AWS Lambda. Lambda je dále spojena s krokovými funkcemi, které sledují sága vzory.

AWS CDK

AWS Cloud Development Kit (CDK) je framework a nástroj pro vytváření a nasazení vlastních cloudových řešení. Jedná se o open-source službu. Pomocí tohoto nástroje lze nasadit aplikace postavené na architektuře a designu ságových vzorů.

AWS SAM

Model AWS Serverless Application se používá k vytváření aplikací bez serveru. Tento framework je také open source. Jakoukoli aplikaci využívající vzor ságy lze vytvořit bez poskytování serverů pomocí AWS SAM.

Existovaly služby AWS, které podporují ságové vzory. Pojďme diskutovat o výhodách, které sága vzory nabízejí.

Jaké jsou výhody vzorů Saga v AWS?

Některé z výhod, které vzory ságy poskytují, jsou uvedeny níže:

  • Správa distribuovaných transakcí
  • Konzistence dat
  • Odolnost proti chybám
  • Škálovatelnost
  • Pojďme diskutovat o výhodách podrobně.

    Správa distribuovaných transakcí

    Saga vzory poskytují jednoduché, ale efektivní řešení pro zpracování distribuovaných transakcí v architektuře mikroslužeb. Rozdělením transakcí do zvládnutelných kroků pomáhají zefektivnit složité pracovní postupy.

    Konzistence dat

    Kompenzační akce jsou navrženy tak, aby zachovaly konzistenci dat i při částečných selháních systému a dílčích transakcích. Vývojáři mohou dosáhnout rovnovážného stavu bez ohledu na výsledky transakcí v distribuovaných systémech využívajících sága vzory.

    Odolnost proti chybám

    Vzory Saga poskytují architektuře mikroslužeb zlepšenou odolnost proti chybám tím, že řeší selhání na úrovni každého kroku a kompenzují chyby. Výsledkem je, že systémy, které je používají, se mohou rychle zotavit z dílčích selhání transakcí, aniž by to ovlivnilo celkový výkon aplikace.

    Škálovatelnost

    Vzory Saga nabízejí horizontální škálovatelnost, která umožňuje systémům zvládnout zvýšené transakční zatížení přidáním více instancí mikroslužeb. Taková flexibilita je neocenitelná pro moderní aplikace, které se musí efektivně vypořádat s proměnlivým pracovním zatížením.

    To vše bylo o vzorech ságy a jejich komponentách a použití ve službách AWS.

    Závěr

    Saga vzory poskytují efektivní přístup pro zpracování distribuovaných transakcí v rámci architektur mikroslužeb. AWS Step Functions, Lambda, DynamoDB, SNS a SQS jsou jen některé služby AWS, které tento vzor podporují. Tento článek obsáhle vysvětlil vzor ságy a její fungování.