Выбор ответа Middle Кластер, воркеры, масштабирование обновлено
cluster внутри Kubernetes
Вопрос
Как обычно масштабируют Node-сервис в Kubernetes?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Один процесс Node на контейнер, реплики и лимиты на под. Оркестратор уже умеет перезапускать процессы, балансировать трафик и масштабировать реплики.
Варианты ответа
- Запускают cluster с воркерами на все ядра ноды в одном поде
- Один процесс Node на контейнер, реплики и лимиты на подправильный ответ
- Один под на весь кластер, внутри PM2 с воркерами
- Через worker_threads, по потоку на каждый запрос
Разбор
Оркестратор уже умеет перезапускать процессы, балансировать трафик и масштабировать реплики. Один процесс на контейнер даёт предсказуемые лимиты и метрики, а горизонтальное автомасштабирование меняет число реплик.
- cluster внутри пода дублирует работу платформы и усложняет лимиты ресурсов.
- PM2 в Kubernetes избыточен по той же причине.
- worker_threads не средство масштабирования HTTP.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Кластер, воркеры, масштабирование»
- Консистентное хеширование с виртуальными узлами
- Балансировка least connections
- Плавный взвешенный round-robin как в nginx
- Код-ревью: сервис перед масштабированием в 4 инстанса
- cluster или worker_threads
- setInterval-крон при нескольких экземплярах
- Флаг --max-old-space-size
- Как Node.js использует несколько ядер