АВТОМАТИЧНЕ ВІДНОВЛЕННЯ ТА ІДЕНТИФІКАЦІЯ СТАНУ ПІД ЧАС ЗАСТОСУВАННЯ ШАБЛОНУ SAGA ДЛЯ ТРАНСАКЦІЙНОГО ВИКОНАННЯ ОПЕРАЦІЙ, ПОВ’ЯЗАНИХ З БАЗАМИ ДАНИХ В МІКРОСЕРВІСНОМУ СЕРЕДОВИЩІ - СУПРУН, ПАВЛО; ПРАВОРСЬКА, НАТАЛІЯ (Herald of Khmelnytskyi National University. Technical sciences, 2025)
Під час використання мікросервісної архітектури шаблон Saga виступає важливим способом забезпечення узгодженості даних без потреби в централізованих або розподілених трансакціях у класичному сенсі. Його суть полягає в декомпозиції складного бізнес-процесу на перелік послідовних локальних – для кожного мікросервіса – трансакцій, кожна з яких виконується автономно в межах контексту свого сервісу.  На відміну від трансакцій в межах монолітної архітектури, де виконується один цілісний процес, що завершується комітом в межах бази даних; у Saga кожна локальна операція запускається після завершення попередньої.  У випадку будь-яких помилок виконання,, вона супроводжується запуском компенсаційних дій. Це дозволяє досягати поступової узгодженості в асинхронному середовищі притаманної міжсервісній комунікації. Зі зростанням популярності застосування мікросервісної архітектури також зростає складність координації трансакцій, особливо в умовах динамічного оновлення компонентів і гнучкої масштабованості. Шаблон Saga забезпечує досягнення поступової узгодженості, однак його ефективність залежить від того, наскільки глибоко враховано семантичну роль кожного кроку бізнес-процесу. Саме Saga розглядається не лише як технічний шаблон, а як частина загальної логіки доменно-орієнтованого проєктування, де кожна трансакція  є подією з визначеними наслідками для всієї системи. Однак, така асинхронність і створює фундаментальні труднощі в контролі за станом виконання всієї саги, як цілісного процесу. У певний момент часу, система не має уявлення про те, на якому етапі перебуває трансакція, і які дії було успішно завершено. Цей ефект підсилюється розподіленістю – кожен сервіс  оперує власними локальними даними, незалежним кодом й ізольованим життєвим циклом. Наслідком, у цьому випадку, є централізоване ведення статусу процесу, який стає неочевидним і неоднозначним, при умові, що не було закладено додаткової спеціальної логіки для передбачення проблемних випадків. У результаті досліджень було визначено та запропоновано способи автоматизації управління Saga та зменшення необхідності у ручному втручанні в процес виконання під час настання збоїв.
Keywords: мікросервіна архітектура; трансакція; Saga; бази даних; компенсація; відновлення; контроль стану; автоматизація