Как решить проблему ограничения параллельных запросов в распределённой системе с несколькими инстансами, если пользователь должен ждать, а не получать ошибку?

Нужны общая очередь ожидания и глобальный ограничитель, учитывающий все инстансы. Worker получает разрешение перед внешним запросом и освобождает после завершения.

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

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

Нужны общая очередь ожидания и глобальный ограничитель, учитывающий все инстансы. Worker получает разрешение перед внешним запросом и освобождает после завершения.

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

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

Нужны общая очередь ожидания и глобальный ограничитель, учитывающий все инстансы. Worker получает разрешение перед внешним запросом и освобождает после завершения.

Для долгого ожидания удобен job ID и получение статуса вместо удержания HTTP-соединения. Ограничьте размер очереди, задайте deadline и отмену. Lease защищает от потерянных разрешений, но его истечение не означает, что старый запрос уже прекратился: нужны heartbeat и осторожное восстановление, чтобы не превысить реальную конкурентность.

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

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

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

Подробнее