Метод упорядкованої паралельної доставки подій у мікросервісних системах із використанням RabbitMQ, резервних HTTP-каналів та патерну Saga для підвищення живучості та зменшення MTTR

DOI: 10.31673/2412-9070.2026.318117

Автор(и)

  • А. Колодюк Державний університет інформаційно – комунікаційних технологій, Київ

Анотація

У статті досліджено проблему забезпечення надійної, впорядкованої та відмовостійкої доставки подій у мікросервісних системах, що функціонують на основі асинхронного обміну повідомленнями. Актуальність роботи зумовлена тим, що в розподілених програмних системах порушення порядку подій, дублювання повідомлень або недоступність брокера можуть призводити до некоректного стану бізнес-процесів, збільшення часу відновлення та зниження живучості системи. Метою дослідження є розроблення методу упорядкованої паралельної доставки подій, який поєднує брокер RabbitMQ, резервний HTTP-канал і патерн Saga для керування розподіленими транзакціями.
У вступі обґрунтовано потребу в комплексному підході до організації доставки подій у мікросервісній архітектурі з урахуванням вимог до масштабованості, доступності та коректності виконання процесів. В огляді літератури проаналізовано наявні підходи до використання подієво-орієнтованої архітектури, брокерів повідомлень, механізмів повторної доставки, резервування каналів і патерну Saga. Встановлено, що більшість відомих рішень розглядає ці механізми окремо, тоді як питання їх інтеграції для одночасного забезпечення впорядкованості, живучості та зменшення MTTR залишається недостатньо дослідженим.
У методичній частині запропоновано архітектуру системи, що складається з джерел подій, брокера RabbitMQ, мікросервісів-споживачів, Saga-координатора, модуля контролю впорядкованості, буфера подій, механізму ідемпотентної обробки та резервного HTTP-маршруту. Подія формалізується як структура з унікальним ідентифікатором, ключем упорядкування, порядковим номером і корисним навантаженням. Для кожного ключа забезпечується послідовна обробка подій, а події з різними ключами можуть виконуватися паралельно. Це дає змогу поєднати високу продуктивність із контролем логічного порядку виконання.
У розділі аналітичного моделювання наведено показники оцінювання ефективності методу: імовірність успішної доставки, коефіцієнт упорядкованості, середній час відновлення та середню затримку доставки. Експериментальну перевірку виконано в симуляційному середовищі Python 3.11 із моделюванням нормального режиму роботи та сценаріїв відмов брокера. Отримані результати показали, що запропонований метод підвищує імовірність доставки подій до 99,8–99,9 %, забезпечує коефіцієнт упорядкованості близько 99,7 % і скорочує MTTR із 957 мс до 263 мс, тобто більш ніж на 70%. При цьому збільшення середньої затримки доставки є незначним і становить близько 3,7 %.
Практичне значення результатів полягає у можливості застосування запропонованого методу для побудови корпоративних і високонавантажених мікросервісних систем, у яких критичними є гарантована доставка подій, збереження їх послідовності, узгодженість розподілених транзакцій і швидке відновлення після часткових збоїв.

Ключові слова: мікросервісна архітектура, подієво-орієнтовані системи, RabbitMQ, Saga, резервний HTTP-канал, упорядкована доставка подій, відмовостійкість, MTTR.

##submission.downloads##

Опубліковано

2026-06-28

Номер

Розділ

Статті