- Регистрация
- 24.09.2021
- Сообщения
- 38 211
Автор: Кирилл Ветчинкин Название: Микросервисная архитектура (2022) О курсе: Кому подойдёт этот курс: - Разработчик - Системный аналитик - Teamlead Особенности курса: Разрабатывал системы на микросервисной архитектуре для Мегафон и Теле2, сейчас развивает направление разработки в компании с 200+ микросервисами, действующий архитектор и TeamLeader команды разработки.Обучение полностью onlineПо легенде нам была поставлена цель - спроектировать архитектуру интернет магазина. В течение всего курса мы не только слушаем теорию, а также активно работаем на доске, решая эту задачу.Говорим не только про технику Чему вы научитесь - Декомпозировать систему- Строить интеграцию между системами- Формировать команды разработки Программа: 1. Базовые понятия Сравнение различных архитектур Отличие SOA от MSA Какого размера должен быть микросервис Плюсы и минусы микросервисной архитектуры Цели успешного внедрения подхода Декомпозиция на микросервисы Понятие Bounded Context Практика EventStorming Тактика декомпозиции системы на микросервисы Сигналы неправильного разбиения Anti-pattern распределенный монолит Практика Декомпозиция системы с помощью практики EventStorming 2. Команды и организационная трансформация Организация команд Сколько микросервисов должно быть у команды Структура команды и необходимые навыки Роль архитектора в MSA Роль платформенных команд Организация Community Раскрытие API API Gateway pattern BFF pattern API composition pattern Аутентификация, безопасность Access token pattern Стандарт OAuth2.0 и JWT Единая точка аутентификации(SSO) Популярные сервера аутентификации OAuth 2.0 Аутентификация между микросервисами Практика Формирование команд разработки Связь команд с сервисами Раскрытие API через API Gateway 3. Организация работы с данными Shared database anti-pattern Database per service pattern Структура микросервиса Внутренняя архитектура сервиса Адаптеры обработки публикации событий Повторное использование кода Шаблон сервиса Взаимодействие между сервисами CAP теорема Синхронное/асинхронное взаимодействие Circuit Breaker(Предохранитель) Transactional outbox pattern Polling publisher pattern Transaction log tailing pattern Репликация данных как средство снижения зависимости(CQRS) Отложенная согласованность данных Saga pattern Практика Хранение состояния сервиса Снижение зависимости между сервисами за счет асинхронных коммуникаций 4. Развертывание Понимание DevOps Стратегия автономности поставки Типовой CI/CD конвейер сервиса Способы развертывания Конфигурация и секреты Service discovery Blue-Green Deployment Canary Deployment Тестирование Особенности тестирования микросервисов Пирамида тестирования Тесты контрактов(статья) Компонентные тесты Место тестов в CI/CD конвейере Кто пишет функциональные тесты и стоит ли их писать Практика Построение CI/CD конвейера Обеспечение качества перед выпуском 5. Мониторинг и поддержка Мониторинг работоспособности Мониторинг состояния сервиса Распределенная трассировка Логи и их агрегация Подход кто разработал тот и поддерживает Отказоустойчивость Изолированность Горизонтальное масштабирование Стратегии разбиения монолита Strangler application pattern( душитель ) Стратегии разбиения Что выносить в первую очередь Выделение Bounded Context Разделение базы данных Выделение сервиса Взаимодействие между сервисом и монолитом Как реализовать отчеты в микросервисной системе Практика Обеспечение мониторинга сервисов Сбор логов ![]() |