Свяжитесь с нами, чтобы получить персональное предложение по FinMV, адаптированное к вашим потребностям.
Об архитектуре обычно спорят как о вкусе: монолит против микросервисов, причём одна сторона объявляется очевидно правильной. Такая постановка вопроса стоит денег. Полезный вопрос не в том, чей стиль побеждает, а в том, какая структура сохраняет границы доменов при вашем реальном масштабе.
У новой инвестиционной платформы одна команда, одно развёртывание и одна база данных. Стоимость распределённой системы на этом этапе целиком уходит в накладные расходы: сетевые вызовы там, где хватило бы вызова функции, согласованность в конечном счёте там, где хватило бы транзакции, и эксплуатационная нагрузка, на которую нет людей.
Поэтому по умолчанию реализация модульная: онбординг, офферы, инвестиции, платежи, документы, обслуживание и отчётность живут за явными границами внутри одной разворачиваемой системы. Модульной её делает не структура папок, а то, что у каждого модуля есть контракт, свои данные и собственные тесты.
Модуль становится отдельным сервисом при конкретном основании, и основания эти бизнесовые, а не модные:
Поскольку границы и контракты уже есть, выделение сервиса — плановая операция, а не переписывание. В этом и смысл: возможность остаётся открытой и остаётся дешёвой.
Работа, которая не должна блокировать пользователя — сверка расчётов, генерация документов, колбэки провайдеров, отчётность, — идёт через очереди. Брокеры сообщений вроде RabbitMQ или Kafka появляются тогда, когда это оправдано нагрузкой или топологией интеграций, а не по умолчанию. PostgreSQL остаётся системой записи; Redis используется там, где действительно нужны быстрый кеш или координация.
Мы не продаём монолит и не продаём микросервисы. И то и другое — ответы на вопросы, которые ещё не заданы. Мы также не строим распределённую систему ради солидного вида: архитектурный театр дорого эксплуатировать и тяжело передавать.
Архитектура выбирается из вашего масштаба, регуляторных обязательств, интеграций и размера команды, которая будет её эксплуатировать, — и проектируется так, чтобы меняться вместе с ними.