Алгоритм выбора инстанса для входящего запроса

Gateway определяет целевой сервис по маршруту, получает из discovery список готовых экземпляров и выбирает один балансировщиком. Discovery сообщает адреса, но сам не обязан распределять запросы.

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

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

Gateway определяет целевой сервис по маршруту, получает из discovery список готовых экземпляров и выбирает один балансировщиком. Discovery сообщает адреса, но сам не обязан распределять запросы.

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

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

Условие

Масштабируемая система:

  • webApp — клиентское приложение
  • GW, SD — модуль, объединяющий функции API‑шлюза и сервис‑дискавери
  • несколько реплик users‑api
  • единая база данных

Необходимо описать процесс, которым GW, SD (Gateway + Service Discovery) принимает входящий запрос и определяет, к какому из экземпляров users‑api его перенаправить.

Ответ

Gateway определяет целевой сервис по маршруту, получает из discovery список готовых экземпляров и выбирает один балансировщиком. Discovery сообщает адреса, но сам не обязан распределять запросы.

Далее шлюз устанавливает соединение с выбранной репликой, передаёт запрос и ждёт ответ в пределах deadline. Список экземпляров обычно кешируется и обновляется по изменениям регистрации/здоровья. Round-robin подходит для сходных запросов, least-requests учитывает текущие активные запросы, weights — разную мощность реплик. Неудачная отправка может привести к ограниченному retry только с учётом идемпотентности. Общая БД требует собственного контроля ёмкости и не участвует напрямую в выборе экземпляра.

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

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

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

Подробнее