Особливості мікросервісної системи для обслуговування багатоквартирних будинків

Дослідження автоматизованої мікросервісної системи для обслуговування об'єднання співвласників багатоквартирних будинків. Аналіз існуючих рішень щодо з'ясування і уникнення недоліків систем. Переваги переходу на мікросервісну архітектуру послуг ОСББ.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык украинский
Дата добавления 07.09.2024
Размер файла 337,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.Allbest.Ru/

Дніпровський національний університет імені Олеся Гончара, Україна

Кафедра електронних обчислювальних машин

Особливості мікросервісної системи для обслуговування багатоквартирних будинків

Матвєєва Н.О., к.т.н., доцент

Помін М.О., магістр

Анотація

На сьогоднішній день чимало будинків в Україні входять до об'єднання співвласників багатоквартирних будинків (ОСББ). В роботі запропонована автоматизована мікросервісна система для обслуговування ОСББ; здійснено аналіз існуючих рішень, що дало змогу з'ясувати недоліки схожих систем та уникнути їх. Завдяки переходу на мікросервісну архітектуру отримано ряд переваг: збільшення стійкості до відмов та збільшення гнучкості. Завдяки розподілу послуг на окремий код, не потрібно розумітися на величезній кількості деталей; поліпшення масштабованості. В майбутньому необхідні сервіси можна доповнювати та розширювати, вся система при цьому залишається незмінною.

Ключові слова: ОСББ, мікросервісна архітектура, фреймворк LARAVEL, мікро-фреймворк LUMEN, інтернет-ресурс, бізнес-логіка.

В даний час архітектура мікросервісів є однією з найгарячіших тем у галузі програмного забезпечення. її запровадження призвело до цифрової революції у бізнесі прикладних програм, де раніш широко дотримувалися монолітної архітектури всі підприємства інформаційних технологій. Більшість величезних технологічних гігантів, таких як Google, Netflix, Amazon, Walmart, SoundCloud, Twitter, PayPal тощо, перейшли до архітектури мікросервісів для своїх продуктів. А малі підприємства здебільшого дотримуються монолітної архітектури через її простоту 1,2].

На сьогоднішній день чимало будинків в Україні входять до об'єднання співвласників багатоквартирних будинків (ОСББ), а у майбутньому кожен будинок повинен використовувати цю систему керування [3].

На даний час існує онлайн-сервіс для обслуговування багатоквартирних будинків, написаний з використанням монолітної архітектури. Але через зростання кількості користувачів, регулярної необхідності додавання/ оновлення різного функціоналу почали проявлятися недоліки монолітної архітектури.

За час функціонування сервісу з'явилось декілька глобальних проблем:

• важкість швидкого оновлення існуючого функціоналу;

• складність оновлення дизайну системи;

• низька швидкість впровадження нового функціоналу;

• висока зв'язаність класів в системі;

• слабка підтримка основного фреймворка системи.

Враховуючи перераховані проблеми було прийняте рішення повноцінно змінити архітектуру системи з монолітної на мікросервісну та фреймворк з Zend Framework 3 на Laravel. Цей крок дозволив оновити весь стек використовуваних технологій та повністю видалити залежність зовнішнього вигляду системи від функціоналу, що в свою чергу надало можливість без будь- яких труднощів оновлювати дизайн системи.

Розробка сайту на фреймворк Laravel має ряд переваг: широкий і різноманітний функціонал; можливість створення масштабних інтернет- проектів, незалежно від складності і спрямованості, у тому числі і багаторівневі веб-сайти. Фреймворк дозволяє красиво вирішувати найнестандартніші завдання [4, 5]. Надається можливість тестувати, додавати оновлення, вносити зміни в роботу сайту на додатковій версії. Це досягається за рахунок підтримки різних версій інтернет-ресурсу.

Проста і зрозуміла адмін-панель. Пояснюється великим спектром можливостей вносити правки в адмін-панель і підбирати найбільш оптимальний варіант управління ресурсом [4, 5]. Усі зміни в PHP і напрямки розвитку веб-сайтів обов'язково враховуються в оновленнях початкового коду цього фреймворка і в усіх подальших версіях[4,5].

Запропонований перехід в результаті допоможе вирішити декілька питань:

• багаторазове використання мікросервісів дозволить легше адаптуватися під нові вимоги проекту і масштабувати його;

• впроваджувати новий функціонал без додаткових витрат;

• спростити інтеграцію подальших додатків.

Перехід зроблено ітераційним зі збереженням функціональності. Основним кроком є розділення бізнес-логіки на п'ять незалежних сервісів:

• application - відповідає за UI/UX сервіс. Він зберігатиме монолітну функціональність, яку ще не встигли перенести в окремі сервіси;

• API gateway - забезпечує взаємодію з іншими сервісами проекту;

• house Service - відповідає за керування клієнтами, квартирами та будинками системи;

• tariff Service - відповідає за керування тарифами, компонентами тарифів та ставками тарифів;

• balance Service - відповідає за керування фінансами системи.

При реалізації взаємодії між сервісами враховувалися обмеження доступу до даних, лише gateway сервіс може запитувати дані від бізнес сервісів.

Запропонована архітектура представлена у вигляді ITIL (Information Technology Infrastructure Library, бібліотека інфраструктури інформаційних технологій) діаграми (рис. 1):

Рис. 1. ITIL діаграма архітектури системи

мікросервісний автоматизований послуга багатоквартирний будинок

Для більш розширеної функціональності усі сервіси, окрім API Gateway, реалізовані на основі фреймворку Laravel, а для більш швидкої роботи API Gateway сервіс реалізовано на основі мікро-фреймворку Lumen[6].

Lumen - це офіційний "мікро-фреймворк", побудований на основі компонентів Laravel. На відміну від багатьох інших мікро-фреймворків Lumen дозволяє використовувати можливості Laravel, такі як роутинг, впровадження залежностей, Eloquent ORM, міграції, черги та навіть планувальник команд. Lumen спроектований для створення неймовірно швидких мікросервісів та API.

Через використання унікального процесу завантаження, Lumen здатний забезпечити надійний набір можливостей, і в той же час надати неймовірно високу продуктивність, що робить його ідеальним рішенням для мікро-сервісів PHP.

Кожен мікросервіс знаходиться у окремій папці (рис. 2).

Система реалізована на основі мікросервісної архітектури - це підхід, у якому система будується як набір незалежних і слабко пов'язаних сервісів, які можна створювати, використовуючи різні мови програмування та технології зберігання даних. Концепція мікросервісів дозволяє підтримувати слабку пов'язаність сервісів у процесі роботи над системою, які визначають патерни Low Coupling (Низьке зчеплення) та High Cohesion (Висока згуртованість).

Рис 2. Коренева структура проекту

Для реалізації функціонуючої системи виконувалися наступні кроки:

• Реалізовано міграцію основного фреймворку проекту з ZF3 на Laravel;

• Розбито один монолітний проект на п'ять окремих мікросервісів;

• Розбито одну загальну базу даних на п'ять окремих, для кожного мікросервісу;

• Оновлено версії стеку використовуваних технологій до останніх стабільних версій;

• Налагоджено систему контейнеризації, що дає можливість локальної розробки, використовуючи всі мікросервіси.

Сервіс не вимагає залучення великої кількості фахівців для його оновлення та розширення, також отримано інші переваги, а саме:

• збільшення стійкості до відмов та гнучкості;

• легкість виведення написаного коду на роботу;

• поліпшення масштабованості.

Список використаних джерел

1. Мікросервісна архітектура. Ivan Zmerzlyi

2. Что такое микросервисы: особенности архитектуры, примеры использования, инструменты.

3. Про житлово-комунальні послуги: Закон України від 09.11.2017 №2189-VIII.

4. Структура каталогов. Laravel.com:

5. Что такое Laravel? Wezom

6. Lumen-docs. Русская документация на микрофреймворк Lumen

Размещено на Allbest.Ru


Подобные документы

  • Багатоканальні систем масового обслуговування з обмеженою чергою. Використання формули Смолуховського-Чепмена. Властивості стаціонарності і ординарності простіших (пуассонівських) потоків. Характеристики систем масового обслуговування з очікуванням.

    реферат [192,4 K], добавлен 23.03.2011

  • Характеристика моніторингу, як системи спостереження і контролю навколишнього середовища. Аналіз автоматизованої системи контролю радіаційної обстановки та спектрометричного посту контролю. Особливості вимірювальних перетворювачів температури і вологості.

    курсовая работа [210,9 K], добавлен 06.03.2010

  • Конструкція та принцип роботи холодильної камери. Структурна схема автоматизованої системи керування, її проектування на основі мікроконтролера за допомогою сучасних програмно-інструментальних засобів розробки та налагодження мікропроцесорних систем.

    курсовая работа [4,5 M], добавлен 08.07.2012

  • Загальні поняття та визначення щодо якості обслуговування. Класифікація показників якості обслуговування в телекомунікаційних системах. Поняття номінальної пропускної здатності середовища передачі інформації. Складові затримки під час передачі пакетів.

    реферат [84,8 K], добавлен 27.03.2011

  • Максимально наближений до ідеальної моделі планувальника GPS механізм обслуговування черг. Рівність розміру всіх пакетів. Зважений алгоритм кругового обслуговування WRR, модифікований алгоритм зваженого кругового обслуговування MWRR. Вибір стратегії черг.

    реферат [284,3 K], добавлен 21.04.2011

  • Аналіз існуючих систем регулювання тяговим електроприводом вагона метрополітену і обґрунтування до модернізації. Розрахунок системи керування імпульсним перетворювачем. Вибір силових елементів перетворювача. Розробка і розрахунок задаючого генератора.

    дипломная работа [1,3 M], добавлен 12.10.2015

  • Методи моделювання динамічних систем. Огляд методів синтезу. Математичне забезпечення вирішення задачі системи управління. Моделювання процесів за допомогою пакету VisSim. Дослідження стійкості системи управління. Реалізація програмного забезпечення.

    дипломная работа [3,8 M], добавлен 07.11.2011

  • Методи розрахунку одноланкової повнодоступної комутаційної системи. Обслуговування викликів найпростішого потоку комутаційною системою з блокуванням. Розрахунок кількості точок комутації, імовірності очікування, кількості ліній в напрямку, довжини черги.

    курсовая работа [153,2 K], добавлен 07.12.2010

  • Дослідження відкритих марковских і полумарковских мереж масового обслуговування із трьома вузлами й циклічною маршрутизацією. Рівняння глобальної рівноваги. Відшукання стаціонарних ймовірностей. Достатня умова ергодичності. Вид стаціонарного розподілу.

    дипломная работа [405,2 K], добавлен 26.12.2010

  • Методи аналітичного, імітаційного і натурного моделювання. Характеристика моделей теорії масового обслуговування. Спеціалізовані системи імітаційного моделювання обчислювальних мереж. Топологічний структурний аналіз властивостей мережі - нові пропозиції.

    реферат [1003,5 K], добавлен 20.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.