StudyCode
К практике
СредниймикросервисымонолитAPI Gateway
🏗️MiddleмикросервисымонолитAPI Gatewayархитектурамасштабирование

Архитектура: монолит vs микросервисы

Как растут большие приложения и когда нужно разбивать монолит на сервисы.

Монолит vs Микросервисы — переключи вид
👤 Клиент

🏢 Монолит

👤User Service
📦Order Service
💳Payment Service
🔔Notify Service
🗄️ Общая база данных

✅ Плюсы

Просто начать

Один деплой

Лёгкий дебаг

❌ Минусы

Деплоить всё целиком

Нельзя масштабировать часть

Страх рефакторинга

Шаг 1 из 3
1

Монолит — один большой сервис

Что такое монолит?

Монолит — приложение, где весь код развёртывается как одна единица.

javascript
┌──────────────────────────────────┐
│           Монолит                │
│  ┌───────┐ ┌───────┐ ┌────────┐ │
│  │ Users │ │Orders │ │Payment │ │
│  └───────┘ └───────┘ └────────┘ │
│           ↕ одна БД              │
└──────────────────────────────────┘

Плюсы монолита

Просто начать — один репозиторий, один деплой ✅ Просто разрабатывать — нет сетевых вызовов между компонентами ✅ Легко дебажить — один стек вызовов, один лог ✅ Транзакции — легко делать атомарные операции в одной БД

Минусы при росте

Деплой всего из-за одной строчки — поменял кнопку → нужно задеплоить всё приложение ❌ Страх изменений — "а вдруг что-то сломается" ❌ Масштабирование — нельзя масштабировать только нагруженную часть ❌ Технологический стек — всё на одном языке/фреймворке

Вывод: монолит — не плохо. Это правильный старт для большинства проектов.