Сливы курсов

Большая база курсов по честной ценe

Регистрация

[Кирилл Ветчинкин] Микросервисная архитектура (2022)

Moderator

Administrator
Команда форума
Регистрация
24.09.2021
Сообщения
38 390

Автор:
Кирилл Ветчинкин


Название:
Микросервисная архитектура (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

Разделение базы данных

Выделение сервиса

Взаимодействие между сервисом и монолитом

Как реализовать отчеты в микросервисной системе

Практика



Обеспечение мониторинга сервисов

Сбор логов



 
Прием платежей для сайтов

Партнеры

Верх Низ