Проєктування подіє-орієнтованої мікросервісної системи з адаптивним розподілом ресурсів
Автор: Ярмоленко Максим Петрович
Кваліфікаційний рівень: магістр
Спеціальність: Системне проєктування
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2025-2026 н.р.
Мова захисту: українська
Анотація: Ярмоленко М.П., Керницький А.Б. Проєктування подіє-орієнтованої мікросервісної системи з адаптивним розподілом ресурсів. Національний університет «Львівська політехніка», Львів, 2025 р. Розширена анотація У сучасних умовах цифровізації бізнесу та зростання кількості високонавантажених онлайн-сервісів особливої актуальності набувають системи, здатні обробляти потоки подій у режимі, наближеному до реального часу. Традиційні монолітні системи та жорстко зв’язані синхронні інтеграції часто не відповідають вимогам щодо масштабованості, відмовостійкості та низької затримки обробки запитів. Це зумовлює необхідність переходу до подіє-орієнтованих мікросервісних архітектур, які дозволяють будувати гнучкі, масштабовані та стійкі до пікових навантажень платформи. У цій роботі проаналізовано теоретичні основи подіє-орієнтованих систем та мікросервісної архітектури, розглянуто підходи до організації взаємодії між сервісами на основі подій, повідомлень та потоків даних. Досліджено основні джерела затримок у розподілених системах реального часу: мережеві затримки, серіалізація даних, робота брокерів подій, внутрішні черги та блокування у сервісах. Окрему увагу приділено визначенню вимог до цільових показників затримки, пропускної здатності, доступності та можливостей горизонтального масштабування. Проведено аналіз сучасних платформ та брокерів подій (таких як системи черг повідомлень і стрімінгові платформи), протоколів та форматів взаємодії (HTTP/REST, gRPC, WebSocket, різні формати серіалізації), а також архітектурних патернів, що застосовуються у подіє-орієнтованих системах (Event Sourcing, CQRS, Saga тощо). На основі порівняльного аналізу сформовано перелік технологій та підходів, придатних для використання у високонавантажених платформах реального часу. У роботі розроблено модель багатошарової подіє-орієнтованої мікросервісної платформи реального часу. Архітектура включає периметр доступу та API-шар, обчислювальний шар мікросервісів, шар даних і кешування, стрімінговий шар подій та шар споживачів подій з інтеграцією до користувацьких інтерфейсів. Для кожного шару запропоновано підходи до забезпечення низької затримки, відмовостійкості та можливості незалежного масштабування компонентів. Предметом дослідження є архітектура подіє-орієнтованої мікросервісної платформи реального часу, підходи до організації обробки подій, вибір брокерів, протоколів та патернів інтеграції. Мета роботи полягає в розробці архітектури подіє-орієнтованої мікросервісної платформи реального часу з низькою затримкою обробки подій, високою пропускною здатністю та можливістю горизонтального масштабування основних компонентів. Розроблена архітектура має практичне застосування. Вона може бути використана як основа для побудови високонавантажених платформ у фінансовому секторі, електронній комерції, системах обробки телеметрії та інших рішеннях, де критичною є швидка та надійна обробка подій у режимі реального часу. Запропоновані підходи дозволяють підвищити гнучкість системи, спростити інтеграцію нових сервісів і забезпечити стійкість до зростання навантаження. Ключові слова: подіє-орієнтована архітектура, мікросервіс, платформа реального часу, брокер подій, стрімінг подій, розподілена система, низька затримка, висока доступність, масштабованість. Перелік використаних джерел: 1. Fowler M. Що означає термін «подіє-орієнтований»? [Електронний ресурс]. Режим доступу до ресурсу: https://martinfowler.com/articles/201701-event-driven.html 2. Netflix Technology Blog. Побудова подіє-орієнтованих архітектур у Netflix. [Електронний ресурс]. Режим доступу до ресурсу: https://netflixtechblog.com 3. Kleppmann M. Проєктування систем, орієнтованих на інтенсивні дані: ключові ідеї надійних, масштабованих та супроводжуваних систем. O’Reilly Media, 2017. [Електронний ресурс]. Режим доступу до ресурсу: https://dataintensive.net 4. Richardson C. Патерни мікросервісної архітектури: приклади реалізації на Java. Manning Publications, 2018. [Електронний ресурс]. Режим доступу до ресурсу: https://www.manning.com/books/microservices-patterns 5. Документація Apache Kafka. Apache Kafka: розподілена платформа стрімінгу подій із відкритим кодом. [Електронний ресурс]. Режим доступу до ресурсу: https://kafka.apache.org/documentation/