Що таке модель Saga в MassTransit?
Сага є шаблон для управління процесами та збоями в розподілених службах. Це дає змогу координувати транзакції між декількома службами для забезпечення узгодженості довготривалих бізнес-процесів. Saga спрощує хід подій і є центральною точкою істини для конкретного робочого процесу.17 січня 2023 р.
на основі пояснення документації MassTransit: це сага довгострокова транзакція, керована координатором. Саги ініціюються подією, саги оркеструють події, а саги підтримують стан загальної транзакції.
Шаблон розподілених транзакцій Saga. Лазурний. Шаблон проектування Saga є спосіб керування узгодженістю даних у мікросервісах у сценаріях розподілених транзакцій. Сага — це послідовність транзакцій, яка оновлює кожну службу та публікує повідомлення або подію, щоб ініціювати наступний крок транзакції.
Сага складається з послідовності локальних операцій. Кожна локальна транзакція в сазі оновлює базу даних і запускає наступну локальну транзакцію. Якщо транзакція завершується невдачею, сага запускає компенсаційні транзакції, щоб скасувати зміни бази даних, внесені попередніми транзакціями.
SAGA є механізми підтримки узгодженості даних в архітектурі мікросервісу без використання розподілених транзакцій. Ви визначаєте SAGA для кожної системної команди, яка потребує оновлення даних у кількох службах. SAGA — це послідовність локальних транзакцій.
Шаблон Saga є техніка, яка може допомогти нам керувати узгодженістю даних між різними базами даних. Патерн саги можна реалізувати двома способами: хореографією та оркестровкою. Отже, давайте вивчимо ці два процеси та визначимо, який із них можна використовувати відповідно до наших вимог.