Экосистема Nexural включает 7 взаимосвязанных систем: торговую панель, Discord-бота, исследовательский движок, систему оповещений, студию новостных рассылок, трекер стратегий и набор инструментов автоматизации.
Было бы естественно предположить, что это микросервисная архитектура. Но это не так. Это модульный монолит — и это было осознанное решение.
Структура принятия решения
Я задал себе три вопроса:
Сколько инженеров? Один (я). Микросервисы многократно увеличивают операционные издержки. Когда инженер один, каждый новый сервис означает ещё один пайплайн развёртывания, ещё одну систему мониторинга, ещё один сценарий отказа, который придётся отлаживать в 2 часа ночи.
Нуждаются ли модули в независимом масштабировании? Пока нет. Торговая панель и исследовательский движок работают на Vercel. У них нет разных профилей масштабирования, которые оправдывали бы раздельную инфраструктуру.
Нужны ли модулям разные технологические стеки? Частично — Discord-бот написан на Node.js, система оповещений — на .NET. Это отдельные сервисы по необходимости. Но веб-приложения все на Next.js/TypeScript и используют общие типы, утилиты и доступ к базе данных.
Что такое «модульный монолит» на практике
Кодовая база организована как один репозиторий с чёткими границами доменов:
