Czym są wzorce Saga w AWS?

Czym Sa Wzorce Saga W Aws



Aplikacje migrują w kierunku rozproszonych architektur i mikrousług. Powoduje to problemy z utrzymaniem danych i zarządzaniem złożonymi transakcjami. Wzory Saga oferują skuteczne rozwiązanie. Amazon Web Services (AWS) zapewnia liczne narzędzia i usługi, które ułatwiają wdrażanie wzorców Saga. Zapewnia bezproblemowe zarządzanie transakcjami w rozproszonych aplikacjach.

W tym artykule wyjaśnimy, czym są wzorce saga, jakie są ich składniki, obsługiwane usługi AWS i ich zalety.







Czym są wzorce Saga w AWS?

Wzorce Saga to technika projektowania w architekturze mikrousług, która ułatwia dystrybucję transakcji między innymi usługami, które współdziałają w celu tworzenia procesów biznesowych. Wykonywanie jednej transakcji w wielu mikrousługach może powodować pewne trudności, takie jak problemy ze spójnością danych i awarie systemu.



Wzorzec Saga działa poprzez rozbijanie rozproszonych transakcji na mniejsze transakcje, tzw „Kroki sagi” . Każdy „Krok sagi” reprezentuje jedną operację związaną z mikrousługą. Jeśli jeden lub więcej „Kroki sagi” nie powiedzie się, natychmiast podejmowane są niezbędne działania w celu przywrócenia stanu aplikacji. Zapoznaj się z poniższym obrazem, aby zrozumieć działanie wzorca sagi:







Poznajmy jego kluczowe elementy:

Jakie są składniki wzorców Saga w AWS?

Kompletne rozwiązanie oparte na mikrousługach wymaga kilku usług w architekturze rozproszonej. Wzór sagi składa się z kilku kluczowych elementów, takich jak:



  • Krok sagi
  • Orkiestrator Sagi
  • Odszkodowanie

Omówmy pokrótce te elementy.

Krok sagi

Kroki Saga to operacje mikroserwisowe lub zadania wykonywane w ramach transakcji rozproszonych, które nie mają negatywnych skutków ubocznych. Są one powtarzane wielokrotnie i przy wielokrotnym wykonywaniu nie występują żadne skutki uboczne.

Orkiestrator Sagi

Podstawowym obowiązkiem orkiestratora sagi jest zarządzanie i monitorowanie każdego etapu pomyślnego ukończenia sagi. Uruchamia transakcje rozproszone po podjęciu odpowiednich kroków. Zapewnia również rekompensatę, jeśli jakikolwiek krok się nie powiedzie.

Odszkodowanie

Gdy podczas procesu sagi napotkany zostanie błąd, jego koordynator podejmuje szybkie i zdecydowane działania, aby cofnąć modyfikacje wprowadzone w poprzednich krokach. Dzięki temu system zachowuje porządek nawet w przypadku wystąpienia błędów.

Były to podstawowe elementy wzoru sagi. Omówmy usługi AWS obsługujące wzorce saga.

Jakie są wzorce sagi usług obsługiwanych w AWS?

Oto usługi oferowane przez Amazon, które są zgodne ze wzorcami sagi:

  • Funkcje krokowe AWS
  • AWS Lambda
  • Amazon DynamoDB
  • Amazon SNS i SQS
  • Brama Amazon API
  • CDK AWS
  • AWS SAM

Funkcje krokowe AWS

Amazon Web Services Step Functions to w pełni zarządzana usługa zaprojektowana w celu ułatwienia przepływu pracy i zarządzania mikroserwisami poprzez zapewnienie programistom maszyn stanowych reprezentujących złożone maszyny stanowe (wzorce saga). Deweloperzy mogą projektować transakcje rozproszone, stosując funkcje krokowe, jednocześnie efektywnie je koordynując.

AWS Lambda

Bezserwerowa usługa komputerowa Lambda firmy Amazon Web Services umożliwia programistom uruchamianie kodu bez bezpośredniego zarządzania serwerami. Umożliwia tworzenie wzorców saga poprzez tworzenie funkcji Lambda reprezentujących każdy krok na poziomie głównym. Deweloperzy korzystający z funkcji Lambda do reprezentowania kroków mogą je skutecznie wykorzystywać do reprezentowania poszczególnych kroków sagi za pomocą Lambdas.

Amazon DynamoDB

Amazon DynamoDB to w pełni zarządzana usługa bazy danych NoSQL firmy AWS. Oferuje niezawodne opcje przechowywania danych. Orkiestratorzy Saga mogą wykorzystywać DynamoDB do śledzenia rozproszonych transakcji w miarę ich postępu.

Amazon SNS i SQS

Aby stworzyć komunikację sterowaną zdarzeniami między mikroserwisami, połączono Amazon Simple Notification Service (SNS) i Simple Queue Service (SQS). Kroki Saga używają tych usług do publikowania komunikatów w innych mikrousługach po wykonaniu określonych operacji. Te usługi następnie powiadamiają inne mikrousługi o stanie ukończenia i aktualizacjach stanu.

Brama Amazon API

Amazon API Gateway to usługa w chmurze firmy Amazon służąca do tworzenia, publikowania i zarządzania interfejsami API. Te interfejsy API można skalować do dowolnego pożądanego poziomu. Ta usługa łączy użytkownika z AWS Lambda. Lambda jest dodatkowo połączona z funkcjami krokowymi, które podążają za wzorcami sagi.

CDK AWS

AWS Cloud Development Kit (CDK) to framework i narzędzie do tworzenia i wdrażania niestandardowych rozwiązań chmurowych. Jest to usługa typu open source. Za pomocą tego narzędzia można wdrażać aplikacje zbudowane w oparciu o architekturę i projekt wzorców saga.

AWS SAM

Model AWS Serverless Application służy do tworzenia aplikacji serverless. Ta struktura jest również open source. Dowolną aplikację korzystającą ze wzorca saga można stworzyć bez udostępniania serwerów wykorzystujących AWS SAM.

Były usługi AWS obsługujące wzorce saga. Omówmy korzyści, jakie oferują wzorce sagi.

Jakie są zalety wzorców Saga w AWS?

Poniżej przedstawiono niektóre korzyści, jakie zapewniają wzorce sagi:

  • Zarządzanie transakcjami rozproszonymi
  • Spójność danych
  • Tolerancja błędów
  • Skalowalność
  • Omówmy szczegółowo korzyści.

    Zarządzanie transakcjami rozproszonymi

    Wzorce Saga zapewniają proste, ale wydajne rozwiązanie do obsługi transakcji rozproszonych w architekturach mikrousług. Dzieląc transakcje na łatwe do zarządzania etapy, pomagają usprawnić złożone przepływy pracy.

    Spójność danych

    Działania kompensacyjne mają na celu zachowanie spójności danych nawet w przypadku częściowych awarii systemu i częściowych transakcji. Deweloperzy mogą osiągnąć stan równowagi niezależnie od wyników transakcji w systemach rozproszonych wykorzystujących wzorce saga.

    Tolerancja błędów

    Wzorce Saga zapewniają architekturom mikrousług lepszą odporność na awarie, obsługując awarie na każdym poziomie kroku i kompensując błędy. W rezultacie systemy korzystające z nich mogą szybko odzyskać sprawność po częściowych awariach transakcji bez wpływu na ogólną wydajność aplikacji.

    Skalowalność

    Wzorce Saga oferują skalowalność poziomą, która umożliwia systemom obsługę zwiększonego obciążenia transakcyjnego poprzez dodanie większej liczby instancji mikrousług. Taka elastyczność jest nieoceniona w przypadku nowoczesnych aplikacji, które muszą skutecznie radzić sobie ze zmiennymi obciążeniami.

    Chodziło o wzorce sagi i ich komponenty oraz zastosowania w usługach AWS.

    Wniosek

    Wzorce Saga zapewniają skuteczne podejście do obsługi transakcji rozproszonych w architekturach mikrousług. AWS Step Functions, Lambda, DynamoDB, SNS i SQS to tylko kilka usług AWS obsługujących ten wzorzec. Ten artykuł wyczerpująco wyjaśnił wzór sagi i jego działanie.