Встречается на собеседованиях • сегодня

Как масштабируется монолит

Монолит масштабируется вертикально (scaling up) и горизонтально (scaling out).

Вертикальное масштабирование – увеличение ресурсов сервера (CPU, RAM). Просто, но имеет физические ограничения.

Горизонтальное масштабирование – запуск нескольких экземпляров приложения за балансировщиком нагрузки (Nginx, HAProxy). Требует:

  • Отсутствия состояния (stateless) в экземплярах.
  • Внешнего хранилища сессий (Redis).
  • Синхронизации кэша (например, Hazelcast).

Пример конфигурации Nginx для балансировки:

nginx
upstream backend {
    server app1.example.com;
    server app2.example.com;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

Проблемы:

  • Общие ресурсы (БД) могут стать узким местом.
  • Сложность развертывания обновлений на всех нодах.

Для сложных сценариев лучше переходить на микросервисы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы