Открыто

Микросервисная архитектура в продакшен разработке [Тариф Стандарт] [Станислав Клоков]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 28 окт 2026 в 20:58.

Основной список: 2 участников

  1. 28 окт 2026 в 20:58
    #1
    Топикстартер
    Топикстартер Член клуба

    Складчина: Микросервисная архитектура в продакшен разработке [Тариф Стандарт] [Станислав Клоков]

    2026-10-28_20-53-08.jpg

    Научись проектировать системы, которые можно развивать, масштабировать и поддерживать.

    Кому будет полезно

    • Middle-разработчикам
      научишься видеть систему целиком, определять границы модулей и учитывать сценарии отказа.
    • Senior-разработчикам
      систематизируешь знания о распределённых данных, очередях, контрактах и устойчивости сервисов.
    • Тимлидам и техлидам
      научишься связывать границы сервисов с бизнес-процессами, структурой команд и независимым развёртыванием.
    • При переходе к микросервисам
      разберёшься, когда переход оправдан и как не получить распределённый монолит вместо независимых сервисов.
    Это курс для действующих разработчиков

    Тебе нужно знать:
    • Python
    • HTTP / API
    • SQL
    • Тестирование
    Программа:

    От монолита к микросервисам
    • Научишься проводить границы сервисов по бизнес-возможностям
    • Определишь владельцев данных и единые источники истины
    • Измеришь "налог на микросервисы": задержки, доступность цепочки и количество мест отказа
    • Разберёшь влияние процессов Python, uvicorn и asyncio на развёртывание сервиса
    • Разделишь учебный интернет-магазин на сервисы, составишь карту владельцев данных и измеришь стоимость сетевых вызовов
    Домашнее задание
    Определишь владельцев данных бонусной системы и её взаимодействие с остальными сервисами. Обоснуешь архитектурное решение: выделять склад в отдельный сервис или оставить модулем монолита

    Результат недели
    Разберёшься, чем микросервисы отличаются от модульного и распределённого монолита и когда их использование действительно оправдано.

    Синхронное взаимодействие и проектирование API
    • Спроектируешь контракт с помощью канвы целей API
    • Научишься проектировать и обрабатывать ошибки при взаимодействии между сервисами
    • Разберёшь совместимое развитие API и терпимое чтение
    • Добавишь таймауты, повторы с jitter, общий дедлайн и предохранитель
    • Защитишь повторные POST-запросы ключом идемпотентности
    • Проверишь, почему таймаут или потерянный ответ не означают, что деньги не списались
    • Разработаешь API заказов на FastAPI и устойчивый клиент сервиса оплаты, который корректно работает при задержках, отказах и потерянных ответах
    Домашнее задание
    Добавишь отмену заказа и изменение адреса с проверкой состояния заказа. Найдёшь ломающие изменения контракта и предложишь совместимые альтернативы. Доработаешь идемпотентность создания заказа и проверишь повторные и конкурентные запросы

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

    Асинхронное взаимодействие на Kafka
    • Сравнишь Kafka, RabbitMQ, Redis Pub/Sub и NATS, разберёшь их отличия и критерии выбора
    • Изучишь топики, партиции, смещения и группы потребителей
    • Научишься выбирать ключ события и учитывать гарантии порядка сообщений внутри партиции
    • Оформишь событие как публичный контракт сервиса
    • Решишь проблему двойной записи с помощью Transactional Outbox
    • Реализуешь идемпотентного потребителя и разберёшь обработку ядовитых сообщений через DLQ
    • Проведёшь событие OrderCreated через Kafka, настроишь outbox и добьёшься того, чтобы уведомление создавалось один раз даже при повторной доставке события
    Домашнее задание
    Добавишь обработку невалидных сообщений через DLQ и проверишь совместимость нового поля события со старым потребителем. Создашь отдельного потребителя для подсчёта заказов покупателей с защитой от дублей

    Результат недели
    Разберёшься, как Kafka помогает развязать сервисы во времени и какие гарантии приходится обеспечивать на стороне приложения.

    Данные и транзакции между сервисами
    • Воспроизведёшь потерянное обновление и защитишь остатки атомарным условным UPDATE, проверишь решение на параллельных резервах
    • Разберёшь паттерн Database per service и сохранение изменений вместе с событиями в одной локальной транзакции
    • Изучишь оркестровку, хореографию и компенсации
    • Построишь сагу как сохраняемую машину состояний
    • Проверишь восстановление саги после перезапуска и разберёшь, почему отмена требует подтверждения компенсаций
    • Воспроизведёшь и исправишь гонки в PostgreSQL, а затем реализуешь сагу оформления заказа с оплатой, резервированием товара и компенсациями
    Домашнее задание
    Добавишь таймауты шагов саги и обработку запоздавших ответов. Проверишь освобождение занятых ресурсов, подтверждение компенсаций и обработку неизвестного исхода платежа. Убедишься, что параллельные резервы не превышают остаток

    Результат недели
    Научишься защищать данные от конкурентных изменений и проводить бизнес-операции через несколько сервисов без общей ACID-транзакции.

    Запросы, BFF и переход к микросервисам
    • Разберёшь устройство API Gateway и реализуешь BFF для клиентского приложения
    • Разберёшь аутентификацию и авторизацию: проверку JWT на шлюзе, создание подписи закрытым ключом, её проверку открытым и проверку прав на заказ в сервисе
    • Соберёшь данные нескольких сервисов через API Composition
    • Настроишь осознанную деградацию необязательных частей экрана
    • Построишь CQRS-проекцию из событий Kafka
    • Разберёшь устранение N+1 через батч-запросы и защиту проекции от повторных и запоздавших событий
    • Научишься пересобирать проекцию из журнала событий
    • Разберёшь постепенный переход от монолита по схеме Strangler Fig
    • Создашь BFF для экрана "Мой заказ", проекцию истории заказов и измеришь, во что обошлось разделение системы на сервисы
    Домашнее задание
    Заново соберёшь историю заказов из событий Kafka и проверишь, что данные совпадают с текущей историей заказов. Опишешь поведение частей экрана при сбоях. Покажешь, чем отличается модель товара в каталоге и на складе и как переводить данные между этими моделями

    Результат недели
    Разберёшься, чем заменить JOIN после разделения данных между сервисами и как скрыть внутреннюю структуру системы от клиента.

    Микросервис в продакшене: тесты, наблюдаемость и выкатка
    • Разберёшь юнит-, интеграционные, компонентные и контрактные тесты
    • Настроишь логи и распределённую трассировку
    • Разберёшь метрики частоты запросов, ошибок и задержек, целевые показатели надёжности и условия для оповещений
    • Передашь контекст трассы через HTTP, Kafka и outbox
    • Добавишь liveness- и readiness-пробы
    • Реализуешь корректную остановку сервиса
    • Разберёшь rolling update, blue-green, canary и постепенное обновление БД, API и событий с сохранением совместимости старых и новых версий сервисов
    • Напишешь тесты на границах сервиса, соберёшь в Jaeger единую трассу от HTTP-запроса до уведомления, свяжешь её с логами и проверишь поведение проб и корректной остановки
    Домашнее задание
    Напишешь тест, который проверяет отмену заказа и снятие блокировки денег при отказе склада, включая повторную доставку ответа. Спланируешь переименование поля в базе, API и событиях так, чтобы старые и новые версии сервисов продолжали работать вместе, и реализуешь первый этап изменения

    Результат недели
    Подготовишь сервис к работе в распределённой системе: от тестирования границ до безопасного обновления версий.

    Тариф Стандарт

    Цена 40700 руб.
    Скрытая ссылка
     
  2. Последние события

    1. Oppundale
      Oppundale участвует в складчине.
      28 окт 2026 в 22:48
    2. Money Maker LTD
      Money Maker LTD участвует в складчине.
      28 окт 2026 в 22:00