Вісник ХНУ. Технічні науки - 2025 рік
Постійне посилання зібрання
Переглянути
Перегляд Вісник ХНУ. Технічні науки - 2025 рік за Ключові слова "004.652.4"
Зараз показуємо 1 - 1 з 1
Результатів на сторінці
Налаштування сортування
Документ Автоматичне відновлення та ідентифікація стану під час застосування шаблону Saga для трансакційного виконання операцій, пов’язаних з базами даних в мікросервісному середовищі(Хмельницький національний університет, 2025) Супрун, Павло; Праворська, Наталія; Suprun, Pavlo; Pravorska, NatalyaПід час використання мікросервісної архітектури шаблон Saga виступає важливим способом забезпечення узгодженості даних без потреби в централізованих або розподілених трансакціях у класичному сенсі. Його суть полягає в декомпозиції складного бізнес-процесу на перелік послідовних локальних – для кожного мікросервіса – трансакцій, кожна з яких виконується автономно в межах контексту свого сервісу. На відміну від трансакцій в межах монолітної архітектури, де виконується один цілісний процес, що завершується комітом в межах бази даних; у Saga кожна локальна операція запускається після завершення попередньої. У випадку будь-яких помилок виконання,, вона супроводжується запуском компенсаційних дій. Це дозволяє досягати поступової узгодженості в асинхронному середовищі притаманної міжсервісній комунікації. Зі зростанням популярності застосування мікросервісної архітектури також зростає складність координації трансакцій, особливо в умовах динамічного оновлення компонентів і гнучкої масштабованості. Шаблон Saga забезпечує досягнення поступової узгодженості, однак його ефективність залежить від того, наскільки глибоко враховано семантичну роль кожного кроку бізнес-процесу. Саме Saga розглядається не лише як технічний шаблон, а як частина загальної логіки доменно-орієнтованого проєктування, де кожна трансакція є подією з визначеними наслідками для всієї системи. Однак, така асинхронність і створює фундаментальні труднощі в контролі за станом виконання всієї саги, як цілісного процесу. У певний момент часу, система не має уявлення про те, на якому етапі перебуває трансакція, і які дії було успішно завершено. Цей ефект підсилюється розподіленістю – кожен сервіс оперує власними локальними даними, незалежним кодом й ізольованим життєвим циклом. Наслідком, у цьому випадку, є централізоване ведення статусу процесу, який стає неочевидним і неоднозначним, при умові, що не було закладено додаткової спеціальної логіки для передбачення проблемних випадків. У результаті досліджень було визначено та запропоновано способи автоматизації управління Saga та зменшення необхідності у ручному втручанні в процес виконання під час настання збоїв.