Record Details

Система контейнеризації мікросервісів на базі Docker

Репозитарій Національного Авіаційного Університету

View Archive Info
 
 
Field Value
 
Title Система контейнеризації мікросервісів на базі Docker
 
Creator Синяговський, Олег Олександрович
 
Subject дипломна робота
мікросервіс
docker
кластеризація
оркестрація
мікросервісна архітектура
моніторинг системи
 
Description Робота публікується згідно наказу ректора від 29.12.2020 р. №580/од "Про розміщення кваліфікаційних робіт вищої освіти в репозиторії НАУ".
Керівник проекту: д.т.н., професор Зіатдінов Юрій Кашафович
Мікросервісна архітектура або мікросервіси – це метод розробки програмного забезпечення, за допомогою якого зосереджується увага на побудові однофункціональних модулів (сервісів) з чітко визначеними завданнями та операціями.
Важливо розуміти, що під сервісом розуміється цілий набір послуг і визначений функціонал, який надають споживачеві. А мікросервіси – це дроблення функціоналу так, щоб він був легко замінюваним і доступним іншим частинам системи.
Кожен мікросервіс – це невелика монолітна програма, яка виконує свою функцію. У програмний продукт при розробці за допомогою мікросервісної архітектури можна додавати будь-яку кількість нових мікросервісів, розширюючи його функціональність. Щоб домогтися подібного в монолітної програмі, необхідно вносити зміни в основний продукт.
Мікросервісна архітектура – це створення розподілених додатків у вигляді набору невеликих незалежних сервісів, які окремо розробляються та розгортаються, і можуть запускатись як один або кілька ізольованих процесів.
Додатковим плюсом використання мікросервісів для реалізації бізнес-функцій є їх однакова робота в різних системах. Наприклад, використовуючи в різних системах один і той же мікросервіс, що видає паспортні дані клієнта за запитом, всюди отримаємо ідентичний результат в однаковому вигляді. Це є гарантією стабільної якості роботи ПЗ.
Переваги мікросервісів з точки зору розробки:
• об’єм програмного коду є мінімальним – сервіс не повинен вимагати великої кількості людей для розробки. Одна команда може розробляти кілька сервісів;
• слабка зв’язність – зміни в одному сервісі не впливають на інший;
• модульність – кожен мікросервіс націлений на вирішення лише однієї групи задач;
• висока доступність – якщо якась частина моноліту вийде з ладу – зламається весь додаток. У випадку із мікросервісами, не всі компоненти можуть працювати (на кшталт авторизація), але додаток при цьому залишиться доступним;
• використання різноманітних технологій – при розробці кожного сервісу розробники вільні вибирати інструменти, які найкраще підійдуть для конкретної бізнес-логіки у даному сервісі. Наприклад, можна вибрати оптимальну базу даних і зручні інструменти для роботи з нею. Мікросервісна архітектура також дозволяє спробувати нову технологію на окремому сервісі, не переписуючи при цьому весь додаток.
Недоліки мікросервісів з точки зору розробки:
• складність розробки – розробка з використанням мікросервісів є довготривалим процесом, що не підходить, коли потрібне швидке рішення (прототип, невеликий додаток, стислі терміни);
• складність підтримки – кожен мікросервіс потребує окремого обслуговування, тому потрібен постійний автоматизований моніторинг та логування даних.
 
Date 2021-01-13T12:12:19Z
2021-01-13T12:12:19Z
2020-12-24
 
Type Other
 
Identifier https://er.nau.edu.ua/handle/NAU/45194
 
Language uk
 
Format application/pdf
 
Publisher Національний авіаційний університет
 

Технічна підтримка: НДІІТТ НАУ