Если Redis с кэшированным токеном внешнего Auth Service недоступен, как избежать деградации, при которой каждый запрос заново авторизуется?

Используйте ограниченный локальный кеш ещё действующего токена и singleflight для его обновления, чтобы запросы не штормовали Auth Service. Истёкший или недопустимый токен нельзя принимать ради доступности.

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

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

Используйте ограниченный локальный кеш ещё действующего токена и singleflight для его обновления, чтобы запросы не штормовали Auth Service. Истёкший или недопустимый токен нельзя принимать ради доступности.

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

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

Используйте ограниченный локальный кеш ещё действующего токена и singleflight для его обновления, чтобы запросы не штормовали Auth Service. Истёкший или недопустимый токен нельзя принимать ради доступности.

Токен должен быть привязан к правильному клиенту, audience и scopes, а локальная копия — учитывать срок действия и требования отзыва. При сбое Redis ограничьте число обновлений, добавьте backoff и circuit breaker. Одновременное обновление всеми процессами можно разнести jitter, но оно не заменяет общий лимит. Если безопасного действующего токена нет, верните контролируемую ошибку вместо обхода аутентификации.

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

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

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

Подробнее