Выбор ответа Junior Кластер, воркеры, масштабирование спрашивают часто обновлено
Что мешает горизонтальному масштабированию
Вопрос
Сервис масштабируют с 1 до 3 экземпляров за балансировщиком. Что сломается первым?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сессии в памяти процесса: другой экземпляр их не знает. Сессия в памяти есть только у экземпляра, который её создал.
Варианты ответа
- Логи в stdout перемешаются между экземплярами
- Сессии в памяти процесса: другой экземпляр их не знаетправильный ответ
- Подключение к PostgreSQL через общий пул соединений
- Чтение конфигурации из переменных окружения
Разбор
Сессия в памяти есть только у экземпляра, который её создал. Балансировщик отправит следующий запрос на другой, и пользователь окажется не авторизован. Решение: сессии в Redis или подписанный токен, то есть stateless-сервис.
- Логи в stdout собирает инфраструктура с каждого экземпляра.
- Каждый экземпляр держит свой пул, это нормально (с учётом лимита соединений БД).
- Переменные окружения одинаковы у всех экземпляров.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Кластер, воркеры, масштабирование»
- Консистентное хеширование с виртуальными узлами
- Балансировка least connections
- Плавный взвешенный round-robin как в nginx
- Код-ревью: сервис перед масштабированием в 4 инстанса
- Модуль cluster
- cluster внутри Kubernetes
- Память у воркеров cluster
- cluster или worker_threads