advanced
Modular monolith
Сохраняйте один deployment, но enforcing module boundaries, ownership и dependency rules, чтобы future extraction оставалась possible.
Модульный монолит — один deployment с enforced границами модулей, ownership и правилами зависимостей — пакеты, arch lint, domain folders. Чёткие швы для будущего выделения без сетевых разделений сегодня. Публичные module API — миниатюра контрактов microservices.
На интервью: как запрещаете импорт internals между модулями. Сравнение с distributed monolith anti-pattern.
Типовые ошибки: границы только на бумаге; общие таблицы БД связывают модули; синхронные in-process вызовы без контрактов.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Узкие стабильные published module APIs.
- Запрещённые импорты в CI.
- Data ownership модуля документирован.
- Playbook extraction до split.