02 декабря 2025Евгений · Senior Systems Engineer

Microservices vs Monolith: что выбрать?


Каждый CTO рано или поздно слышит: "Нам нужны микросервисы, как у Netflix!". Но Netflix — это 10,000 инженеров и миллиарды долларов. А у вас — 5 разработчиков и MVP. Давайте разберемся, когда монолит — это мудрость, а когда микросервисы — необходимость.

Визуальное сравнение

🏛️ Монолит

Auth Module
Payment Module
User Module
📦 Shared Database

Все модули в одном процессе

🧩 Микросервисы

Auth Service
DB
Payment
DB
User Service
DB
Orders
DB

Каждый сервис независим

Когда монолит — правильный выбор

  • Стартап на ранней стадии: Вам нужна скорость разработки, а не масштаб. Монолит позволяет быстро менять код без оркестрации 20 сервисов.
  • Команда < 10 человек: У вас просто нет ресурсов поддерживать инфраструктуру микросервисов (Kubernetes, Service Mesh, Distributed Tracing).
  • Низкая нагрузка: Если у вас 1000 RPS, монолит справится на одном сервере. Зачем усложнять?

Когда пора переходить на микросервисы

  1. Разные команды, разные темпы: Команда платежей хочет деплоить 5 раз в день, а команда отчетов — раз в неделю. Монолит заставляет всех ждать друг друга.
  2. Разная нагрузка на модули: API для мобильного приложения получает 100k RPS, а админка — 10 RPS. В монолите вы масштабируете всё вместе (дорого). В микросервисах — только то, что нужно.
  3. Технологическая свобода: Хотите писать ML-модуль на Python, а основной бэкенд на Go? В монолите это боль. В микросервисах — норма.

Золотая середина: Модульный монолит

Начните с монолита, но пишите его как будущие микросервисы. Разделите код на модули с четкими границами (Domain-Driven Design). Когда придет время, вы просто вынесете модуль в отдельный процесс.

Совет NineLab: Микросервисы — это не архитектура. Это организационная структура. Если у вас нет нескольких команд, вам не нужны микросервисы.

Частые вопросы по теме

Профиль трафика и данные на стенде редко совпадают с боем. Нужны сценарии, те же метрики, что в проде, и поэтапное наращивание с возможностью отката.

Часто первыми «краснеют» база и планы запросов, пулы соединений, синхронные вызовы внешних API и очереди — это даёт быстрый чек-лист проверки.

Не обязательно: инвалидация, холодный старт и неравномерность ключей могут навредить. Кэш проектируют под конкретные read-модели и SLO.

Когда вертикальное масштабирование и оптимизация запросов упёрлись в потолок, а рост данных предсказуем по ключу партиционирования.

Хотите применить это на практике?

Расскажите про вашу систему — предложим план работ и метрики, которые имеет смысл зафиксировать в SLA/SLO.

Все материалы: High-Load

High-Load31 мая 2026 г.
Микросервисы для маркетплейса: когда это необходимость, а когда — лишние миллионы

Рамка решения для CEO и CTO: 5 сигналов, что пора дробить систему, 4 признака преждевременного перехода и честный расчёт — сколько стоит «архитектура как у Ozon» на старте маркетплейса.

Читать статью
High-Load21 мая 2026 г.
Redis, очереди и кэширование: как сделать сайт в 10 раз быстрее без покупки нового железа

Разбираем, почему сайт тормозит при «нормальном» сервере, что кешировать в Redis, какие задачи уводить в очереди, когда подключать CDN — и какие цифры ждать после оптимизации без роста счёта за хостинг.

Читать статью
High-Load19 мая 2026 г.
Сколько стоит 1 час простоя вашего сайта: считаем на конкретных примерах

Формула расчёта стоимости простоя для e-commerce, B2B и SaaS: прямые и скрытые потери, коэффициент пика и чеклист подготовки к инцидентам. С привязкой к реальным сбоям инфраструктуры в 2026 году.

Читать статью
High-Load17 мая 2026 г.
Реклама на 10 миллионов и ошибка 503: как техническая неготовность сжигает маркетинговые бюджеты

Разбираем, почему рекламные кампании сгорают из-за упавшего сайта: считаем реальные потери, объясняем три системные причины и даём чеклист подготовки инфраструктуры перед крупным запуском.

Читать статью