Что такое Cache Penetration, Cache Avalanche и Cache Warmup? Как спроектировать слой кэширования для интернет-магазина так, чтобы во время ночной распродажи, когда миллионы пользователей одновременно запрашивают новые товары, база данных не вышла из строя из-за промахов кэша?

Penetration — промахи по отсутствующим данным, avalanche — массовое истечение или потеря кеша, warmup — его предварительное заполнение. Для распродажи нужны прогрев и защита БД от лавины промахов.

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

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

Penetration — промахи по отсутствующим данным, avalanche — массовое истечение или потеря кеша, warmup — его предварительное заполнение. Для распродажи нужны прогрев и защита БД от лавины промахов.

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

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

Penetration — промахи по отсутствующим данным, avalanche — массовое истечение или потеря кеша, warmup — его предварительное заполнение. Для распродажи нужны прогрев и защита БД от лавины промахов.

Заранее прогревают популярные товары, разносят TTL случайным сдвигом и объединяют параллельные загрузки одного ключа через single-flight. Отсутствующие записи можно кешировать кратко, учитывая появление новых товаров. Ограничивают конкурентные обращения к БД и вводят backpressure, а допустимые устаревшие данные отдают по stale-while-revalidate. Остатки и финальную цену покупки проверяют в авторитетном хранилище: кеш каталога не гарантирует корректность продажи.

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

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

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

Подробнее