Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую.
Но есть более фундаментальный вопрос - кто в системе определяет правила игры?
В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке:
- часть проверок живeт во фронтенде
- часть - в API,
- часть - в промежуточных сервисах
- часть — во временных проверках, добавленных после инцидентов
Добавили новый сервис в цепочку - и изменилось поведение.
Вынесли проверку в отдельный процессинг - и появились состояние гонки.
Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала.
В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса.
Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре.
Мы отвлекаем существенные ресурсы в поисках решения для проблем.