Блок 3. Микросервисы, DDD и устойчивость

«Все знают, что такое Saga». Цель блока — не знать названия паттернов, а уметь объяснить, какую проблему решает каждый паттерн, чем за это платишь и когда он не нужен. На собеседовании архитектора спрашивают именно это: «почему здесь сага, что будет при сбое на третьем шаге, где граница этого сервиса».

Главные источники

  • Vlad Khononov, Learning Domain-Driven Design (O’Reilly, 2021) — самая практичная книга про выделение доменов.
  • Chris Richardson, Microservices Patterns (Manning, 1-е изд.) и каталог паттернов microservices.io.
  • Sam Newman, Building Microservices (2nd ed., 2021) и Monolith to Microservices (2019).
  • Michael Nygard, Release It! (2nd ed., 2018) — главы про антипаттерны и паттерны стабильности.
  • Martin Kleppmann, Designing Data-Intensive Applications — фундамент под модули 3.4 и 3.5.

Критерий завершения блока

Для системы, которую знаешь изнутри (обезличенно), сделать: карту контекстов, схему развёртывания с gateway и балансировщиками, одну сагу с компенсациями и таблицей отказов, список политик устойчивости для внешних вызовов. Это заготовка итогового проекта.


Table of contents