Бизнес-логика первична, микросервисы — вторичны
Мы привыкли обсуждать микросервисную архитектуру с точки зрения границ сервисов, ответственности команд, масштабируемости и отказоустойчивости. Мы спорим о том, как правильно нарезать домен, где провести границы и какие сервисы должны взаимодействовать напрямую. Но есть более фундаментальный вопрос - кто в системе определяет правила игры? В реальных финтех-системах бизнес-логика часто начинает зависеть от того, как именно разложены микросервисы. Допустимость действий формируется не в одном месте, а распределяется по цепочке: - часть проверок живeт во фронтенде - часть - в API, - часть - в промежуточных сервисах - часть — во временных проверках, добавленных после инцидентов Добавили новый сервис в цепочку - и изменилось поведение. Вынесли проверку в отдельный процессинг - и появились состояние гонки. Перестроили оркестрацию - и неожиданно стала недоступной операция, которая раньше работала. В этот момент происходит архитектурный перекос - не бизнес-процесс определяет систему, а структура сервисов начинает определять поведение процесса. Для финтеха это особенно критично. Допустимость действия - это не просто проверка прав. Это функция состояния процесса, версии правил, контекста операции и регуляторных ограничений. Если эта допустимость зависит от связности сервисов или порядка их вызова, система становится хрупкой и уязвимой, и тогда, начинается разговор о подходе, в котором бизнес-логика централизуется, версионируется и становится инвариантной к физической архитектуре. Мы отвлекаем существенные ресурсы в поисках решения для проблем.
https://habr.com/ru/articles/1006458/
#микросервисная_архитектура #eventdriven #patterns #связность #архитектура_приложений #финтех #финансы #SDAP