Отслеживание нагрузки и обеспечение отказоустойчивости сервисов

Метрики собирает система мониторинга, трафик распределяет балансировщик, а неработающие экземпляры исключаются по health-check. Масштабирование выполняет отдельный контроллер по выбранным сигналам.

Короткий ответ

Что ответить на собеседовании

Метрики собирает система мониторинга, трафик распределяет балансировщик, а неработающие экземпляры исключаются по health-check. Масштабирование выполняет отдельный контроллер по выбранным сигналам.

Подробный разбор

Ответ с пояснениями

Условие

Система состоит из масштабируемого набора экземпляров userService, каждый из которых взаимодействует с базой данных. Требуется определить, какие компоненты и каким образом должны:

  • мониторить текущую нагрузку на каждый экземпляр userService;
  • выявлять, какой из экземпляров перегружен, а какой имеет свободные ресурсы;
  • выполнять проверку состояния (health‑check) для обнаружения неработающих экземпляров.

Ответ

Метрики собирает система мониторинга, трафик распределяет балансировщик, а неработающие экземпляры исключаются по health-check. Масштабирование выполняет отдельный контроллер по выбранным сигналам.

Для нагрузки нужны RPS, число активных запросов, latency, ошибки, CPU, память и ожидание соединений с БД. Readiness определяет готовность получать трафик; liveness — необходимость перезапуска, поэтому недоступность БД не должна автоматически вызывать перезапуск всех экземпляров. Балансировщик может учитывать активные соединения или запросы, но не знает всю бизнес-нагрузку. При насыщенной общей БД добавление userService способно ухудшить ситуацию: нужны лимиты соединений, backpressure и анализ узкого места.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее