Архитектура на микросервизи - курс 46 900 rub. от IBS Training Center, обучение 24 часа, Дата 27 ноември 2023 г.
разни / / November 27, 2023
Архитектурата на микросервизите (MSA) сравнително наскоро придоби слава като най-популярния архитектурен подход. Използването му осигурява много предимства на различни етапи от жизнения цикъл на продукта. По-специално, MCA позволява по-бързо време за реакция на бизнес изискванията, което често го прави по-добър от другите архитектурни стилове.
Въпреки това, в процеса на разработване на MCA системи, архитектът е изправен пред много предизвикателства, много от които карат начинаещите да се връщат назад.
Грешките в декомпозицията могат да доведат до сериозно увеличаване на сложността на разработката. Производителността страда поради непреодолимото забавяне на мрежата. Разпределеното съхранение на данни не позволява последователност на транзакциите. Голям брой компоненти, взаимодействащи по мрежата, намаляват надеждността. Трудно е да се гарантира сигурност. В допълнение, тестването и поддръжката на разпределена система изисква отделно обсъждане.
Този курс ще покаже предимствата и недостатъците на използването на MCA. Ще ви помогне да вземете информирано решение за приложимостта на ISA в зависимост от нуждите на бизнеса и възможностите на екипа. Курсът разглежда основните проблеми, свързани с внедряването на архитектура на микросервизи. Стратегии, механизми, модели, които решават проблемите, посочени по-горе. За всеки обсъждан проблем ще бъдат представени най-разпространените инструменти (като Kubernetes, Istio, Histryx, Kibana и много други).
Практическите упражнения ще ви позволят да придобиете умения за самостоятелно проектиране на MCA системи.
Обхванати теми:
1. Архитектурни стилове (2 часа)
Концепции за монолит, SOA, MSA.
Сравнение и обосновка на избора.
2. Модели на разлагане на MSA (2 часа)
Оптимален размер на микроуслугата;
Разбивка на услугите по бизнес възможности;
Разбивка на услугите по проблемни области;
Практики за дефиниране на предметни области;
Декомпозиция по технически и организационни аспекти.
3. Организация на разработката за MSA (1 час)
Организация на екипи по MSA;
Организиране на кодово хранилище по MSA.
4. Интегриране на микроуслуги (3 часа)
Модели на взаимодействие;
Синхронни и асинхронни механизми на взаимодействие;
Оркестрация и хореография;
Основни протоколи и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.);
Взаимодействие с външни системи (API Gateway, BFF);
Реактивни системи;
Архитектури, управлявани от събития;
Разделяне на команда и заявка.
5. Организация на работа с данни в MSA (3 часа)
Модели на работа с данни;
Генериране на събития;
Справочни данни в МСА;
Единствен източник на истина (Source of Truth) в MSA.
6. Основни ISA шаблони (9 часа)
Модифицируемост.
Решаване на проблема с високата свързаност. Версиониране на интерфейси и събития. Видове договори. Промени в модела на събитието. Модели за организиране на заявки. Микросервизно шаси. Сервизна мрежа.
Мащабируемост.
Модели за конструиране на балансьори. Услуги за откриване и модели за работа с тях.
Производителност.
Модели на производителност в MSA (прекомерно убиване, грациозно влошаване и т.н.).
Последователност.
Проблеми с последователността в MSA. CAP теорема. Решения на проблеми с последователността. Двуфазови ангажименти. SAGA модел. Намалено ниво на консистенция.
Надеждност.
Механизми за отказоустойчивост. Модели на прекъсвачи, дроселиране, зависими изчаквания и др.
Безопасност.
Механизми за сигурност в MSA. Удостоверяване. Упълномощаване. Защита на периметъра. Защита на комуникационните канали. Основни протоколи и модели (OAUTH2, JWT, gatekeeper, valet key и др.).
Тестваемост.
Тестване на пирамида и квадрат. Характеристики на тестване на микроуслуги.
Единично тестване. Интеграционно тестване. Тестване на компоненти. E2E тестване. Модели за тестване на MSA.
Лесна поддръжка.
Наблюдаемост. Модели за наблюдение (разпределено проследяване, агрегиране на журнали). Мониторинг и регистриране. Конфигуриране на микроуслуги. Екстернализиране на конфигурацията. Системна поддръжка.
7. Внедряване на микроуслуги (2 часа)
Модел „Тръбопровод за разгръщане“;
Модели на внедряване;
Използване на Docker и Kubernetes технологии;
Използване на мрежата ISTIO;
Внедряване без сървър;
Стратегии за разгръщане (синьо-зелено, канарче и др.).
8. Стратегии за миграция от монолит към MSA (2 часа)
Стратегии за мигриране от монолитни към микроуслуги;
Удушвач монолит;
Модели на удушаване;
Комуникация между микроуслуга и монолит;
Миграция на база данни.