За 3 месяца систематизируете и углубите знания по проектированию и реализации масштабируемых и отказоустойчивых микросервисных систем. Полный цикл: декомпозиция, построение бизнес‑процессов, интеграции, мониторинг, тестирование и масштабирование.
Фокус на инженерное мышление, глубокий разбор технологий и подходов. Все материалы и практика основаны на реальных потребностях бизнеса. 6 проектов, чтобы усилить ваше портфолио.
За курс спроектируете 6 сложных архитектур:
- Поддержка сложных бизнес‑процессов
- Спроектируете Saga с оркестрацией, настроите BPMN‑движок и его взаимодействие с другими сервисами
- Хореография и потоковая обработка данных
- Примените Event Sourcing, Kafka Streams и CQRS
- Микросервисы вместо монолита
- Декомпозируете монолит по DDD, примените Feature Toggles, продумаете parallel run
- Приложение для обработки больших объёмов данных
- Построите конвейер пакетной обработки, займётесь сбором телеметрии и облачной инфраструктурой
- Высоконагруженное приложение
- Создадите композиционный API, проработаете балансировку нагрузки, настроите service mesh
- Realtime-приложение для взаимодействия пользователей
- Примените WebSockets, настроите синхронизацию экземпляров сервиса, поработаете с анализом телеметрии
Освоите продвинутые инструменты, которые используют при проектировании и реализации микросервисных систем.
- SAGA
- WebSockets
- Change Data Capture
- Event Sourcing
- CQRS
- Transactional Outbox
- API Gateway
- Kubernetes
- Domain-Driven Design
- Пакетная обработка
- Оркестрация
- Хореография
- Distributed Scheduling
- Композиция АРІ
- Apache Kafka
- Декомпозиция монолита
- Event-Driven Architecture
Программа курса
Разработка микросервисных приложений для сложных бизнес‑процессов
- Проектирование микросервисов с нуля
- Техники декомпозиции: DDD, Business Capabilities, Event‑Driven, Data‑Driven. Проверка корректности разбиения: Low Coupling, High Cohesion, API Stability. Ошибки и ограничения при декомпозиции по DDD.
- Создание микросервисов
- Оркестрация и хореография. Реализация SAGA на базе BPMN‑движка. Средства интеграции микросервисов в условиях оркестрации (запрос‑ответ). Кеширование и репликация.
- Спроектируете доменную модель, реализуете SAGA с оркестрацией, кеширование и интеграции
Разработка микросервисных приложений под event‑driven‑архитектуру
- Погружение в предметную область
- Event Storming как инструмент анализа предметной области. Применение результатов Event Storming.
- Реализация EDA с микросервисами
- Взаимодействие в условиях хореографии (публикация-подписка). Потоковая обработка данных с Kafka Streams и Flink. Transactional Outbox, CDC и его ограничения.
- Работа с данными на базе событий
- Event Sourcing и его совместное применение с CQRS.
- Спроектируете архитектуру микросервисов с хореографией и реализуете потоковую обработку данных на Kafka Streams
Декомпозиция монолитной системы на микросервисы
- Из монолита в микросервисы
- Декомпозиция и миграция функциональности: Strangler Fig, Feature Toggle, Parallel Run vs Big Bang Rewrite. Типичные ошибки. Разделение модели данных. Решение проблемы дублирования данных и выбор БД.
- Борьба со сложностью микросервисной архитектуры
- Переиспользование функциональности: дублирование, общие библиотеки, shared‑сервисы, платформы. Организация кода: монорепозиторий vs отдельные репозитории. Формирование команд с учётом топологий и обратного манёвра Конвея.
- Спроектируете микросервисную архитектуру на основе реального монолита, определив границы сервисов, их функции, модели данных и общие функциональности
Разработка микросервисных приложений под высокую нагрузку
- Разработка микросервисных приложений для масштабируемых пакетных вычислений
- Пакетная обработка на микросервисах
- Архитектурные шаблоны: ETL‑конвейер, MapReduce. Распределение зон ответственности: координатор, воркеры. Spring Batch, Apache Airflow, Apache Spark. Оптимальный размер пакета для обработки.
- Инфраструктура для пакетной обработки
- Запуск по расписанию: Cron Jobs в Kubernetes, Event-Driven Pipeline. Развёртывание в облаке: serverless‑контейнеры и Kubernetes. Управление облачной инфраструктурой с Terraform. Динамическое управление конфигурациями. Configuration as a Service.
- Сбор телеметрии микросервисов
- Централизованное логирование с ELK. Корреляция логов через Trace ID. Метрики для мониторинга. OpenTelemetry для сбора логов, метрик и трассировки, инструментирование кода через OpenTelemetry SDK.
- Создадите конвейер пакетной обработки, организуете запуск по расписанию, автоматизируете управление облачной инфраструктурой, настроите сбор телеметрии
Проектирование приложения для совместной работы пользователей
- Проектирование клиент‑серверных интеграций
- Интеграция микросервисов: взаимодействие, аутентификация и авторизация — OAuth 2.0, JWT, OpenID Connect. Балансировка нагрузки. API‑First для проектирования интерфейсов. Кеширование.
- Реализация API на бэкенде
- API Gateway. Паттерн композиции API на основе Apollo Federation. Паттерны отказоустойчивости: Circuit Breaker, Retry, Rate Limiting.
- Развёртывание сервисов
- CI/CD-пайплайн. Управление ресурсами в Kubernetes: Namespace, ResourceQuota, LimitRange. Масштабирование: горизонтальное (HPA) и вертикальное (VPA). Динамическое управление конфигурацией. Service Mesh для автоматизации mTLS, Circuit Breaker, Rate Limiting, Retry Policy и трассировки запросов.
- Создадите API Gateway с композицией API, аутентификацией и авторизацией запросов, настроите балансировку нагрузки
Проектирование realtime‑приложений
- WebSockets для клиент‑серверного взаимодействия. Асинхронные средства интеграции на бэкенде. Синхронизация результатов асинхронной обработки с микросервисом с Redis Pub/Sub.
- Качественные результаты разработки
- Тестирование микросервисов, интеграционные тесты с Testcontainers. Fitness Functions на базе ArchUnit для контроля соответствия кода архитектурным требованиям.
- Анализ телеметрии микросервисов
- Настройка автоматического оповещения на основе метрик. Сбор и визуализация телеметрии с Prometheus и Grafana, создание дашбордов для мониторинга нагрузки, ошибок и производительности сервисов.
- Реализуете клиент‑серверную интеграцию, настроите синхронизацию экземпляров сервиса. Напишете интеграционные тесты, создадите Fitness Functions и дашборды






