Общая информация
| Параметр | Значение |
|---|---|
| Автор | Sam Newman |
| Год | 2021 (2-е издание) |
| Страниц | 616 |
| Уровень | Intermediate |
| Издательство | O'Reilly |
| Рейтинг полезности | 5/5 |
О чём эта книга
Building Microservices -- это практическое руководство по проектированию, построению и эксплуатации микросервисных систем. Второе издание существенно переработано и включает опыт индустрии за последние годы, включая критику микросервисного подхода.
Главная ценность: Ньюман не продаёт микросервисы как серебряную пулю. Он честно описывает, когда микросервисы нужны, когда -- нет, и какие проблемы они создают. Это зрелый и сбалансированный взгляд.
Структура книги
Часть I: Основы
| Глава | Тема | Что узнаете |
|---|---|---|
| 1 | What Are Microservices? | Определение, ключевые характеристики |
| 2 | How to Model Microservices | Bounded contexts, aggregates |
| 3 | Splitting the Monolith | Стратегии декомпозиции, Strangler Fig |
| 4 | Microservice Communication Styles | Sync vs async, request-response vs event-driven |
Часть II: Реализация
| Глава | Тема | Что узнаете |
|---|---|---|
| 5 | Implementing Communication | REST, gRPC, message brokers |
| 6 | Workflow | Sagas, orchestration vs choreography |
| 7 | Build | CI/CD для микросервисов |
| 8 | Deployment | Containers, Kubernetes, serverless |
| 9 | Testing | Test pyramid, contract testing, E2E |
| 10 | Monitoring & Observability | Distributed tracing, logging, metrics |
Часть III: Люди и процессы
| Глава | Тема | Что узнаете |
|---|---|---|
| 11 | Security | Auth, secrets, zero trust |
| 12 | Resiliency | Circuit breaker, bulkhead, retry |
| 13 | Scaling | Horizontal/vertical, caching |
| 14 | User Interfaces | BFF, micro frontends |
| 15 | Organizational Structures | Conway's Law, team topologies |
| 16 | The Evolutionary Architect | Роль архитектора, governance |
Пять ключевых идей
1. Независимая деплоябельность -- главная цель
Микросервисы нужны не ради маленького размера, а ради возможности деплоить каждый сервис независимо. Если у вас нет этого -- микросервисы не дают преимуществ.
2. Начинайте с монолита
Ньюман рекомендует начинать с модульного монолита и выделять сервисы только когда появляется реальная потребность. Преждевременная декомпозиция -- частая ошибка.
3. Bounded Context -- основа декомпозиции
Границы микросервисов должны совпадать с границами бизнес-контекстов (из DDD). Технические границы (по слоям) приводят к сильной связанности.
4. Choreography предпочтительнее Orchestration
Событийная архитектура (choreography) даёт более слабую связанность между сервисами, хотя сложнее в отладке.
5. Организация определяет архитектуру
Закон Конвея работает: структура системы отражает структуру коммуникаций в организации. Невозможно построить хорошую микросервисную архитектуру в организации с сильными вертикальными колодцами.
Плюсы
- Полнота -- покрывает все аспекты: от моделирования до организационной структуры
- Практичность -- много реальных примеров и антипаттернов
- Сбалансированность -- честно говорит о минусах микросервисов
- Второе издание -- учитывает опыт индустрии, более зрелый взгляд
- Conway's Law -- уникальный фокус на организационных аспектах
Минусы
- Объём -- 616 страниц, не все главы одинаково полезны
- Мало кода -- архитектурный обзор, а не implementation guide
- Повторения -- некоторые идеи разбросаны по разным главам
- Нет глубины в отдельных темах -- Sagas, CQRS описаны обзорно (для глубины -- Richardson)
Кому читать
- Инженерам, проектирующим переход с монолита на микросервисы
- Tech-лидам, выбирающим архитектуру для нового проекта
- DevOps-инженерам, строящим инфраструктуру для микросервисов
- Всем, кто хочет понять микросервисы целостно, а не фрагментарно
Кому НЕ читать
- Начинающим разработчикам без опыта работы с распределёнными системами
- Тем, кто ищет глубокое погружение в конкретные паттерны (лучше Richardson)
- Инженерам, работающим исключительно с монолитами без планов миграции
Рекомендация: Это лучшая обзорная книга по микросервисам. Читайте второе издание -- оно значительно улучшено. Если хотите глубже разобраться в конкретных паттернах (Sagas, CQRS, Event Sourcing), дополните книгой Richardson.