Швидка обробка даних та реагування на події в умовах обмеженого часу є важливим завданням для програмного забезпечення систем реального часу (СРЧ) [1]. Вибір архітектури впливає на продуктивність, затримки обробки подій, можливості масштабування, рівень надійності та складність супроводу системи [2].
Завдяки архітектурним стилям можливо визначити принципи організації компонентів системи, способи їх взаємодії, а також механізми обробки подій і даних у часово-критичних умовах. Найпоширенішими архітектурними стилями, що застосовуються при проєктуванні СРЧ є монолітна, мікросервісна та подієво-орієнтована архітектури [3-4].
Постановка задачі. Проаналізувати основні архітектурні стилі, що використовуються в СРЧ, та визначити їхні переваги й недоліки з точки зору ефективності обробки даних, масштабованості та складності реалізації.
Мета дослідження. Дослідження особливостей застосування монолітної, мікросервісної та подієво-орієнтованої архітектур у СРЧ з метою обґрунтування доцільності їх використання залежно від вимог до швидкодії, надійності та масштабованості системи.
Результати дослідження. В межах дослідження розглянуто основні архітектурні стилі, що застосовуються в СРЧ, узагальнено їхні структурні характеристики, сильні сторони та обмеження. На рисунку 1 наведено узагальнену схему архітектурних стилів для систем реального часу, яка ілюструє принципи побудови монолітної, мікросервісної та подієво-орієнтованої архітектур і дозволяє наочно порівняти підходи до організації компонентів та їх взаємодії [1, 4].
Рисунок 1 Архітектурні стилі для СРЧ
Монолітна архітектура містить компоненти програми, які зібрані в один сукупний блок, що функціонує як єдине ціле, де система розробляється та розгортається як один неперервний елемент. Перевагами такої архітектури є простота розробки та розгортання, оскільки всі частини системи є взаємозалежними і працюють в межах одного середовища [2]. Вона підходить для невеликих або середніх систем, де не потрібно часте масштабування або зміна окремих компонентів. Водночас з цим архітектура містить певні недоліки. По-перше, у монолітній архітектурі компоненти тісно інтегровані, де система може стати складною у підтримці з часом, а по-друге, масштабування таких систем масштабується сукупно, що може бути менш ефективним з точки зору використання ресурсів [1, 3].
Мікросервісна архітектура полягає в розподілі великої системи на кілька незалежних сервісів, кожен з яких виконує окрему функцію. Кожен мікросервіс розгортається і обслуговується окремо, що дає можливість значно підвищити гнучкість і масштабованість. Перевагою такої архітектури є здатність масштабувати лише ті частини системи, які потребують цього, що є особливо важливим для великих розподілених систем [3]. Незважаючи на переваги мікросервіси можуть бути складними в управлінні. Взаємодія між сервісами потребує належної інфраструктури для забезпечення їх комунікації і синхронізації, що вимагає використання таких інструменти, як контейнери (Docker, Kubernetes) і системи для моніторингу та оркестрації мікросервісів. Мікросервіси підходять для великих платформи з високими вимогами до масштабованості і доступності, наприклад, онлайн сервіси Netflix, Spotify або Amazon [2].
Подієво-орієнтована архітектура ґрунтується на принципі обробки подій. В рамках цієї архітектури компоненти системи реагують на події, які виникають в реальному часі, забезпечуючи миттєву обробку даних. У такій системі всі компоненти взаємодіють через повідомлення про події, що дозволяє знизити затримки при обробці інформації та пришвидшити реакцію на зовнішні зміни. Перевагами такої архітектури є гнучкість і ефективність в умовах високих вимог до часу реакції, що добре підходить для фінансових транзакцій, систем моніторингу, обробки сенсорних даних або інших додатків, де важливе вчасне реагування. Недоліком архітектури є висока складність при реалізації, оскільки потрібно створювати надійні механізми для обробки та передачі подій між компонентами [4].
Для узагальнення особливостей розглянутих підходів у табл. 1 наведено порівняльну характеристику архітектурних стилів, що дозволяє оцінити їхні переваги та недоліки з точки зору застосування у конкретних СРЧ.
Таблиця 1
Порівняння характеристик архітектурних стилів
Згідно з рис. 1 та характеристиками в табл. 1 можна провести декілька порівнянь між архітектурними стилями.
Таблиця 2
Порівняльний аналіз застосування архітектурних стилів
Висновки та перспективи. проаналізовано монолітну, мікросервісну та подієво-орієнтовану архітектури СРЧ. Встановлено, що монолітна архітектура забезпечує високу швидкодію та детермінізм, але має обмежені можливості масштабування. Мікросервісна архітектура відзначається гнучкістю та масштабованістю, однак характеризується підвищеною складністю реалізації та більшими затримками. Подієво-орієнтована архітектура є найбільш ефективною для систем, що потребують реагування в реальному часі, проте вимагає складніших механізмів проєктування.
Перспективи подальших досліджень пов’язані з розробкою гібридних архітектурних рішень і підвищенням детермінізму сучасних розподілених систем реального часу.
Література:
1. Anisimov V., Kunanets N. Перехід від монолітної до мікросервісної архітектури: методологія та досвід впровадження //COMPUTER-INTEGRATED TECHNOLOGIES: EDUCATION, SCIENCE, PRODUCTION. – 2024. – №. 55. – С. 30-41. https://doi.org/10.36910/6775-2524-0560-2024-55-03
2. Скворцов В. Х. Порівняння монолітної та мікросервісної архітектури у розробці у вебзастосунків / В. Х. Скворцов ; наук. керівник к. т. н., доц. В. А. Золотарьов // Радіоелектроніка та молодь у ХХІ столітті : матеріали 28-го Міжнар. молодіж. форуму, 16–18 квітня 2024 р. – Харків : ХНУРЕ, 2024. – Т. 4. – С. 152–154. – DOI: https://doi.org/10.30837/IYF.PDICIMT.2024.152
3. Улічев, О. С. Інноваційні рішення та переваги мікросервісної архітектури програмних продуктів / О. С. Улічев, О. П. Доренський, В. П. Кулагін // Центральноукраїнський науковий вісник. Технічні науки : наук. зб. - Кропивницький : ЦНТУ, 2024. - Вип. 10(41). - Ч. 1. - С. 16-29. URL: https://dspace.kntu.kr.ua/handle/123456789/16106
4. CortexFlow (2024). Event-Driven Architecture (EDA): A Complete Guide to Real-Time Systems. Medium. URL: https://medium.com/the-software-frontier/event-driven-architecture-eda-a-complete-guide-to-real-time-systems-974f612dc6b5
|