Способы распила монолита на микросервисы
Главное правило:
Нельзя резать, не определив границы. Начинать нужно с бизнес-логики и данных, а не с кода.
Качественный сервис после распила обладает:
- Слабой зависимостью (loose coupling) — изменения не ломают соседей.
- Высокой внутренней связностью (high cohesion) — сервис решает одну бизнес-задачу.
Когда пора делить
- Команда > 10–15 человек, конфликты в коде.
- Релизы блокируют друг друга.
- Модули развиваются с разной скоростью.
- Нет независимого масштабирования.
- Разные требования по отказоустойчивости.
Когда не стоит
- Команда небольшая
- Нет автотестов, CI/CD, мониторинга.
- Простой домен и нет DevOps-практики.
Способы распила
1. Декомпозиция по бизнес-доменам
Основана на Domain-Driven Design.
Каждый сервис = один Bounded Context: собственная логика и данные. Границы определяются бизнес-процессами, а не слоями кода.