Mik azok a Saga-minták az AWS-ben?

Mik Azok A Saga Mintak Az Aws Ben



Az alkalmazások az elosztott architektúrák és mikroszolgáltatások felé vándorolnak. Ez gondokat okoz az adatok karbantartásában és az összetett tranzakciók kezelésében. A saga minták hatékony megoldást kínálnak. Az Amazon Web Services (AWS) számos eszközt és szolgáltatást kínál, amelyek egyszerűvé teszik a Saga-minták megvalósítását. Ez biztosítja a zökkenőmentes tranzakciókezelést az elosztott alkalmazások között.

Ez a cikk elmagyarázza, mik azok a saga-minták, azok összetevői, a támogatott AWS-szolgáltatások és előnyeik.







Mik azok a Saga-minták az AWS-ben?

A Saga minták egy tervezési technika a mikroszolgáltatási architektúrákban, amelyek segítenek a tranzakciók elosztásában más szolgáltatások között, amelyek kölcsönhatásba lépnek az üzleti folyamatok létrehozása érdekében. Egy tranzakció több mikroszolgáltatáson keresztüli végrehajtása nehézségeket okozhat, például adatkonzisztencia-problémákat és rendszerhibákat.



A Saga minta úgy működik, hogy az elosztott tranzakciókat kisebb tranzakciókra bontja „Saga lépései” . Minden egyes 'Saga lépés' egy, a mikroszolgáltatáshoz kapcsolódó műveletet képvisel. Ha egy vagy több „Saga lépései” sikertelen, azonnal megteszik a szükséges lépéseket az alkalmazás állapotának visszaállításához. Tekintse meg az alábbi képet a saga-minta működésének megértéséhez:







Ismerkedjünk meg a legfontosabb összetevőivel:

Melyek a Saga Patterns összetevői az AWS-ben?

A teljes mikroszolgáltatási megoldáshoz több szolgáltatásra van szükség egy elosztott architektúrában. A saga mintának van néhány kulcsfontosságú összetevője, mint például:



  • Saga Step
  • Saga Orchestrator
  • Kártérítés

Beszéljük meg röviden ezeket az összetevőket.

Saga Step

A Saga lépései olyan mikroszolgáltatási műveletek vagy elosztott tranzakciók részeként végrehajtott feladatok, amelyeknek nincs negatív mellékhatása. Többször megismétlődnek, és az ismételt végrehajtás során nem jelentkeznek mellékhatások.

Saga Orchestrator

A saga hangszerelőjének elsődleges feladata a saga sikeres végrehajtásának minden egyes lépésének irányítása és figyelemmel kísérése. A megfelelő lépések megtételekor elindítja az elosztott tranzakciókat. Kompenzációt is biztosít, ha bármelyik lépés meghiúsul.

Kártérítés

Ha a saga folyamata során hibát észlelünk, a hangszerelő gyors és határozott lépéseket tesz, hogy visszaállítsa az előző lépések által bevezetett módosításokat. Ez biztosítja, hogy a rendszer még hibák esetén is fenntartsa a rendet.

Ezek voltak a saga minta elsődleges összetevői. Beszéljük meg a saga-mintákat támogató AWS-szolgáltatásokat.

Melyek a támogatott szolgáltatások Saga-mintái az AWS-ben?

Ezek az Amazon által kínált szolgáltatások, amelyek a saga mintáit követik:

  • AWS lépésfunkciók
  • AWS lambda
  • Amazon DynamoDB
  • Amazon SNS és SQS
  • Amazon API átjáró
  • AWS CDK
  • AWS SAM

AWS lépésfunkciók

Az Amazon Web Services Step Functions egy teljesen felügyelt szolgáltatás, amely megkönnyíti a munkafolyamatokat és a mikroszolgáltatások kezelését azáltal, hogy a fejlesztők számára komplex állapotgépeket (saga mintákat) reprezentáló állapotgépeket biztosít. A fejlesztők megtervezhetik az elosztott tranzakciókat a Step Functions használatával, miközben hatékonyan összehangolják azokat.

AWS lambda

Az Amazon Web Services Lambda szerver nélküli számítógépes szolgáltatása lehetővé teszi a fejlesztők számára, hogy a kiszolgálók közvetlen kezelése nélkül futtassák a kódot. Lehetővé teszi a saga mintákat azáltal, hogy Lambda függvényeket hoz létre, amelyek minden lépést a gyökér szinten reprezentálnak. A lépések ábrázolására Lambda függvényeket használó fejlesztők hatékonyan használhatják azt az egyes saga lépések lambdákon keresztüli ábrázolásakor.

Amazon DynamoDB

Az Amazon DynamoDB az AWS NoSQL adatbázis-szolgáltatása, amely teljes mértékben felügyelt. Megbízható adattárolási lehetőségeket kínál. A Saga szervezői használhatják a DynamoDB-t az elosztott tranzakciók nyomon követésére, amint azok előrehaladnak.

Amazon SNS és SQS

A mikroszolgáltatások közötti eseményvezérelt kommunikáció létrehozásához az Amazon Simple Notification Service (SNS) és a Simple Queue Service (SQS) kombinálva van. A Saga lépései ezeket a szolgáltatásokat használják üzenetek közzétételére más mikroszolgáltatások számára bizonyos műveletek végrehajtása után. Ezek a szolgáltatások ezután értesítik a többi mikroszolgáltatást a befejezés állapotáról és az állapotfrissítésekről.

Amazon API átjáró

Az Amazon API Gateway az Amazon felhőszolgáltatása API-k létrehozására, közzétételére és kezelésére. Ezek az API-k bármilyen kívánt szintre méretezhetők. Ez a szolgáltatás összekapcsolja a felhasználót az AWS Lambdával. A lambda tovább kapcsolódik a saga mintákat követő lépésfunkciókhoz.

AWS CDK

Az AWS Cloud Development Kit (CDK) egy keretrendszer és eszköz egyéni felhőmegoldások létrehozásához és üzembe helyezéséhez. Ez egy nyílt forráskódú szolgáltatás. A saga minták architektúrájára és tervezésére épülő alkalmazások telepíthetők ezzel az eszközzel.

AWS SAM

Az AWS kiszolgáló nélküli alkalmazásmodell kiszolgáló nélküli alkalmazások létrehozására szolgál. Ez a keretrendszer is nyílt forráskódú. A saga mintát használó bármely alkalmazás létrehozható az AWS SAM-ot használó szerverek biztosítása nélkül.

Voltak AWS-szolgáltatások, amelyek támogatják a saga-mintákat. Beszéljük meg a saga-minták előnyeit.

Mik a Saga Patterns előnyei az AWS-ben?

Az alábbiakban felsorolunk néhány előnyt, amelyet a saga minták nyújtanak:

  • Elosztott tranzakciókezelés
  • Adatkonzisztencia
  • Hibatűrés
  • Méretezhetőség
  • Beszéljük meg részletesen az előnyöket.

    Elosztott tranzakciókezelés

    A Saga minták egyszerű, de hatékony megoldást kínálnak az elosztott tranzakciók kezelésére mikroszolgáltatási architektúrákban. A tranzakciók kezelhető lépésekre bontásával elősegítik az összetett munkafolyamatok egyszerűsítését.

    Adatkonzisztencia

    A kompenzációs műveletek célja az adatok konzisztenciájának megőrzése még részleges rendszerhibák és részleges tranzakciók esetén is. A fejlesztők a tranzakciós eredményektől függetlenül elérhetik az egyensúlyi állapotot az elosztott rendszerekben, saga mintákat használva.

    Hibatűrés

    A Saga minták javított hibatűrő képességet biztosítanak a mikroszolgáltatási architektúrák számára azáltal, hogy minden lépésszinten kezelik a hibákat, és kompenzálják a hibákat. Ennek eredményeként az ezeket használó rendszerek gyorsan felépülhetnek a tranzakciók részleges meghibásodásaiból anélkül, hogy az alkalmazás általános teljesítményét befolyásolnák.

    Méretezhetőség

    A Saga minták vízszintes skálázhatóságot kínálnak, ami lehetővé teszi a rendszerek számára, hogy több mikroszolgáltatási példány hozzáadásával kezeljék a megnövekedett tranzakciós terhelést. Ez a rugalmasság felbecsülhetetlen a modern alkalmazások számára, amelyeknek hatékonyan kell kezelniük a változó terheléseket.

    Ez a saga mintákról és azok összetevőiről, valamint az AWS-szolgáltatásokban való felhasználásáról szólt.

    Következtetés

    A Saga minták hatékony megközelítést biztosítanak a mikroszolgáltatási architektúrákon belüli elosztott tranzakciók kezelésére. Az AWS Step Functions, a Lambda, a DynamoDB, az SNS és az SQS csak néhány AWS szolgáltatás, amely támogatja ezt a mintát. Ez a cikk átfogóan ismerteti a saga mintáját és működését.