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.