Выбор ответа Senior Кеширование обновлено

Кеш в памяти процесса

Вопрос

У сервиса 30 экземпляров, и каждый держит локальный кеш настроек на 5 минут. Админ меняет настройку. Что увидят пользователи?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: До 5 минут вперемешку старое и новое значение. Локальные кеши независимы: экземпляры, у которых запись ещё не истекла, отдают старое значение, остальные уже новое.

Варианты ответа

  1. Новое значение сразу на всех экземплярах
  2. Ошибку конфигурации до перезапуска сервиса
  3. До 5 минут вперемешку старое и новое значениеправильный ответ
  4. Старое значение до следующего деплоя сервиса

Разбор

Локальные кеши независимы: экземпляры, у которых запись ещё не истекла, отдают старое значение, остальные уже новое. Пользователь за балансировщиком может видеть их вперемешку до 5 минут. Ошибки и вечного старого значения не будет, потому что TTL истечёт. Если это недопустимо, используют короткий TTL или рассылку событий об изменении (pub/sub) для сброса локальных кешей.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.