Kas yra AWS sagos modeliai?

Kas Yra Aws Sagos Modeliai



Programos pereina prie paskirstytų architektūrų ir mikro paslaugų. Tai sukelia problemų tvarkant duomenis ir tvarkant sudėtingas operacijas. Saga modeliai siūlo veiksmingą sprendimą. „Amazon Web Services“ (AWS) teikia daugybę įrankių ir paslaugų, kurios palengvina „Saga“ modelių įgyvendinimą. Tai užtikrina sklandų operacijų valdymą paskirstytose programose.

Šiame straipsnyje bus paaiškinta, kas yra saga modeliai, jų komponentai, palaikomos AWS paslaugos ir jų pranašumai.







Kas yra AWS sagos modeliai?

Saga modeliai yra mikro paslaugų architektūros projektavimo technika, padedanti paskirstyti operacijas kitose paslaugose, kurios sąveikauja kuriant verslo procesus. Vienos operacijos vykdymas keliose mikropaslaugos gali sukelti tam tikrų sunkumų, pvz., duomenų nuoseklumo problemų ir sistemos gedimo.



„Saga“ modelis veikia suskaidydamas paskirstytas operacijas į mažesnes operacijas, žinomas kaip „Sagos žingsniai“ . Kiekvienas „Sagos žingsnis“ reiškia vieną su mikro paslauga susijusią operaciją. Jei vienas ar daugiau „Sagos žingsniai“ nepavyksta, nedelsiant imamasi reikiamų veiksmų programos būsenai atkurti. Norėdami suprasti sagos modelio veikimą, žiūrėkite toliau pateiktą paveikslėlį:







Sužinokime apie pagrindinius jo komponentus:

Kokie yra AWS sagos modelių komponentai?

Išsamus mikroserviso sprendimas reikalauja kelių paskirstytos architektūros paslaugų. Sagos modelį sudaro keli pagrindiniai komponentai, tokie kaip:



  • Sagos žingsnis
  • Saga Orchestrator
  • Kompensacija

Trumpai aptarkime šiuos komponentus.

Sagos žingsnis

Saga žingsniai yra mikro paslaugų operacijos arba užduotys, atliekamos kaip paskirstytų operacijų dalis, kurios neturi neigiamo šalutinio poveikio. Jie kartojami kelis kartus ir pakartotinai vykdant nepasireiškia šalutinis poveikis.

Saga Orchestrator

Pagrindinė sagos organizatoriaus pareiga yra valdyti ir stebėti kiekvieną sėkmingą sagos žingsnį. Jis pradeda paskirstytas operacijas, kai imamasi atitinkamų veiksmų. Ji taip pat suteikia kompensaciją, jei kuris nors veiksmas nepavyksta.

Kompensacija

Kai sagos proceso metu aptinkama klaida, jos organizatorius imasi greitų ir ryžtingų veiksmų, kad pakeistų ankstesniais žingsniais įvestas modifikacijas. Taip užtikrinama, kad sistema palaikys tvarką net ir klaidų atveju.

Tai buvo pagrindiniai sagos modelio komponentai. Aptarkime AWS paslaugas, kurios palaiko sagos modelius.

Kokie yra palaikomų paslaugų sagos modeliai AWS?

Tai yra „Amazon“ siūlomos paslaugos, kurios atitinka sagos modelius:

  • AWS žingsnių funkcijos
  • AWS lambda
  • Amazon DynamoDB
  • Amazon SNS ir SQS
  • „Amazon API Gateway“.
  • AWS CDK
  • AWS SAM

AWS žingsnių funkcijos

„Amazon Web Services Step Functions“ yra visiškai valdoma paslauga, skirta palengvinti darbo eigą ir mikropaslaugų valdymą, suteikiant kūrėjams būsenos mašinas, vaizduojančias sudėtingas būsenos mašinas (saga modelius). Kūrėjai gali kurti paskirstytas operacijas naudodami žingsnio funkcijas ir efektyviai jas organizuoti.

AWS lambda

„Amazon Web Services“ „Lambda“ be serverio kompiuterių paslauga leidžia kūrėjams paleisti kodą tiesiogiai nevaldant serverių. Sukuriant Lambda funkcijas, reprezentuojančias kiekvieną žingsnį šaknies lygmenyje, galima sukurti saga modelius. Kūrėjai, naudojantys Lambda funkcijas žingsniams pavaizduoti, gali jas efektyviai panaudoti pateikdami atskirus sagos žingsnius per Lambdas.

Amazon DynamoDB

„Amazon DynamoDB“ yra visiškai valdoma AWS „NoSQL“ duomenų bazės paslauga. Jis siūlo patikimas duomenų saugojimo parinktis. „Saga“ orkestrantai gali naudoti „DynamoDB“ paskirstytoms operacijoms stebėti.

Amazon SNS ir SQS

Norint sukurti įvykiais pagrįstą ryšį tarp mikrotarnybų, sujungiamos „Amazon Simple Notification Service“ (SNS) ir „Simple Queue Service“ (SQS). Saga žingsniai naudoja šias paslaugas, kad paskelbtų pranešimus kitoms mikropaslaugoms atlikus konkrečias operacijas. Tada šios paslaugos praneša kitoms mikropaslaugoms apie užbaigimo būseną ir būsenos atnaujinimus.

„Amazon API Gateway“.

„Amazon API Gateway“ yra „Amazon“ teikiama debesies paslauga, skirta kurti, skelbti ir valdyti API. Šios API gali būti pakeistos iki bet kokio pageidaujamo lygio. Ši paslauga sujungia vartotoją su AWS Lambda. Lambda yra toliau prijungta prie žingsnių funkcijų, kurios seka sagos modelius.

AWS CDK

AWS Cloud Development Kit (CDK) yra sistema ir įrankis, skirtas sukurti ir įdiegti pasirinktinius debesies sprendimus. Tai atvirojo kodo paslauga. Naudojant šį įrankį galima įdiegti programas, sukurtas remiantis saga šablonų architektūra ir dizainu.

AWS SAM

AWS Serverless Application modelis naudojamas kuriant programas be serverio. Ši sistema taip pat yra atvirojo kodo. Bet kuri programa, naudojanti saga šabloną, gali būti sukurta be serverių, naudojant AWS SAM.

Buvo AWS paslaugų, palaikančių sagos modelius. Pakalbėkime apie pranašumus, kuriuos siūlo sagos modeliai.

Kokie yra „Saga Patterns“ pranašumai AWS?

Kai kurie pranašumai, kuriuos teikia saga modeliai, yra žemiau:

  • Paskirstytasis operacijų valdymas
  • Duomenų nuoseklumas
  • Gedimų tolerancija
  • Mastelio keitimas
  • Leiskite mums išsamiai aptarti naudą.

    Paskirstytasis operacijų valdymas

    Saga modeliai yra paprastas, bet efektyvus sprendimas paskirstytoms operacijoms tvarkyti mikro paslaugų architektūrose. Suskaidydami operacijas į valdomus veiksmus, jie padeda supaprastinti sudėtingas darbo eigas.

    Duomenų nuoseklumas

    Kompensuojantys veiksmai skirti išlaikyti duomenų nuoseklumą net esant daliniams sistemos gedimams ir dalinėms operacijoms. Kūrėjai gali pasiekti pusiausvyros būseną, nepaisydami operacijos rezultatų paskirstytose sistemose, naudojantys sagos modelius.

    Gedimų tolerancija

    „Saga“ modeliai suteikia mikropaslaugų architektūroms patobulintą atsparumą gedimams, tvarkydami gedimus kiekviename žingsnyje ir kompensuodami klaidas. Dėl to jas naudojančios sistemos gali greitai atsigauti po dalinių operacijų gedimų, nedarant įtakos bendram programos našumui.

    Mastelio keitimas

    Saga modeliai siūlo horizontalų mastelio keitimą, kuris leidžia sistemoms susidoroti su padidėjusia operacijų apkrova pridedant daugiau mikro paslaugų egzempliorių. Toks lankstumas yra neįkainojamas šiuolaikinėms programėlėms, kurios turi veiksmingai susidoroti su svyruojančiais darbo krūviais.

    Tai buvo viskas apie sagos modelius ir jų komponentus bei naudojimą AWS paslaugose.

    Išvada

    „Saga“ modeliai yra veiksmingas būdas tvarkyti paskirstytas operacijas mikro paslaugų architektūrose. AWS Step Functions, Lambda, DynamoDB, SNS ir SQS yra tik kelios AWS paslaugos, palaikančios šį modelį. Šiame straipsnyje išsamiai paaiškintas sagos modelis ir jo veikimas.