Программа и содержание

Микросервисная архитектура (2025)

Слив курса Микросервисная архитектура [Яндекс.Практикум]

За 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

Программа:

1 Разработка микросервисных приложений для сложных бизнес‑процессов

Проектирование микросервисов с нуля

Техники декомпозиции: DDD, Business Capabilities, Event‑Driven, Data‑Driven. Проверка корректности разбиения: Low Coupling, High Cohesion, API Stability.

Ошибки и ограничения при декомпозиции по DDD.

Создание микросервисов

Оркестрация и хореография. Реализация SAGA на базе BPMN‑движка. Средства интеграции микросервисов в условиях оркестрации (запрос‑ответ).

Кеширование и репликация.

Спроектируете доменную модель, реализуете SAGA с оркестрацией, кеширование и интеграции

2 Разработка микросервисных приложений под event‑driven‑архитектуру

Погружение в предметную область

Event Storming как инструмент анализа предметной области. Применение результатов Event Storming.

Реализация EDA с микросервисами

Взаимодействие в условиях хореографии (публикация-подписка). Потоковая обработка данных с Kafka Streams и Flink. Transactional Outbox, CDC и его ограничения.

Работа с данными на базе событий

Event Sourcing и его совместное применение с CQRS.

Спроектируете архитектуру микросервисов с хореографией и реализуете потоковую обработку данных на Kafka Streams

3 Декомпозиция монолитной системы на микросервисы

Из монолита в микросервисы

Декомпозиция и миграция функциональности: Strangler Fig, Feature Toggle, Parallel Run vs Big Bang Rewrite. Типичные ошибки. Разделение модели данных.

Решение проблемы дублирования данных и выбор БД.

Борьба со сложностью микросервисной архитектуры

Переиспользование функциональности: дублирование, общие библиотеки, shared‑сервисы, платформы. Организация кода: монорепозиторий vs отдельные репозитории. Формирование команд с учётом топологий и обратного манёвра Конвея.

Спроектируете микросервисную архитектуру на основе реального монолита, определив границы сервисов, их функции, модели данных и общие функциональности

4 Разработка микросервисных приложений под высокую нагрузку

Разработка микросервисных приложений для масштабируемых пакетных вычислений

Пакетная обработка на микросервисах

Архитектурные шаблоны: 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.

Создадите конвейер пакетной обработки, организуете запуск по расписанию, автоматизируете управление облачной инфраструктурой, настроите сбор телеметрии

5 Проектирование приложения для совместной работы пользователей

Проектирование клиент‑серверных интеграций

Интеграция микросервисов: взаимодействие, аутентификация и авторизация — 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, аутентификацией и авторизацией запросов, настроите балансировку нагрузки

6 Проектирование realtime‑приложений

WebSockets для клиент‑серверного взаимодействия. Асинхронные средства интеграции на бэкенде.

Синхронизация результатов асинхронной обработки с микросервисом с Redis Pub/Sub.

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

Тестирование микросервисов, интеграционные тесты с Testcontainers. Fitness Functions на базе ArchUnit для контроля соответствия кода архитектурным требованиям.

Анализ телеметрии микросервисов

Настройка автоматического оповещения на основе метрик. Сбор и визуализация телеметрии с Prometheus и Grafana, создание дашбордов для мониторинга нагрузки, ошибок и производительности сервисов.

Реализуете клиент‑серверную интеграцию, настроите синхронизацию экземпляров сервиса. Напишете интеграционные тесты, создадите Fitness Functions и дашборды

Скачать: