Учебный центр IBS

ARC-015 Микросервисная архитектура

Начало: По мере набора группы
Длительность: 1 неделя
СертификатОнлайн

Описание курса

Вы узнаете, как разрабатывать гибкие и эффективные системы, соответствующие требованиям бизнеса. В курсе рассматриваются основные проблемы, связанные с реализацией микросервисной архитектуры, а также стратегии, механизмы, паттерны и инструменты для их решения. Практические упражнения позволят вам приобрести навык самостоятельного проектирования МСА систем. Курс поможет вам принимать обоснованное решение о применимости МСА в зависимости от потребностей бизнеса и возможностей команды.

Понятия монолита, SOA, MSA. Сравнение и обоснование выбора.

Оптимальный размер микросервиса. Разбиение на сервисы по бизнес-возможностям. Разбиение на сервисы по проблемным областям. Практики определения предметных областей. Декомпозиция по техническим и организационным аспектам.

Организация команд под MSA. Организация репозитория кода под MSA.

Паттерны взаимодействия. Синхронные и асинхронные механизмы взаимодействия. Оркестровка и хореография. Основные протоколы и технологии (REST, gRPC, GraphQL, Kafka, RabbitMQ и др.). Взаимодействие с внешними системами (API Gateway, BFF). Реактивные системы. Архитектуры, управляемые событиями. Разделение команды и запроса.

Паттерны работы с данными. Порождение событий. Справочные данные в MSA. Единый источник истины (Source of Truth) в MSA.

Модифицируемость. Решение проблемы высокой связанности. Версионирование интерфейсов и событий. Типы контрактов. Изменения событийной модели. Паттерны организации запросов. Микросервисное шасси (Microservice chassis). Сетки сервисов (Service Mesh).

Масштабируемость. Паттерны построения балансировщиков. Сервисы обнаружения и паттерны работы с ними.

Производительность. Паттерны производительности в MSA (переборка, изящная деградация и пр.).

Согласованность. Проблемы обеспечения согласованности в MSA. CAP теорема. Решения проблем согласованности. Двухфазные коммиты. Паттерн SAGA. Понижение уровня согласованности.

Надежность. Механизмы отказоустойчивости. Паттерны предохранитель (Circuit Breaker), дросселировка, зависимые таймауты и пр.

Безопасность. Механизмы обеспечения безопасности в MSA. Аутентификация. Авторизация. Защита периметра. Защита каналов связи. Основные протоколы и паттерны (OAUTH2, JWT, привратник, ключ камердинера и пр.).

Тестируемость. Пирамида и квадрат тестирования. Особенность тестирования микросервисов. Модульное тестирование. Интеграционное тестирование. Компонентное тестирование. Тестирование E2E. Паттерны тестирования MSA.

Удобство обслуживания. Возможность наблюдения (Observability). Паттерны наблюдения (распределенная трассировка, агрегация журналов). Мониторинг и журналирование. Конфигурирование микросервисов. Вынесение конфигурации во вне. Поддержка системы.

Паттерн «Deployment pipeline». Паттерны развертывания. Использование технологий Docker и Kubernetes. Использование сетки ISTIO. Бессерверное развертывание. Стратегии развертывания (сине-зеленые, канареечные и т.д.).

Стратегии перехода с монолита на микросервисы. Удушение монолита (Strangler monolith). Паттерны удушения. Связь микросервиса с монолитом. Миграция базы данных.

Отзывы о курсе

Отзывов пока нет
Будьте первым, напишите отзыв и поставьте оценку этому курсу.