SYSTEM ATLASЗагрузка материала

Cache Stampede

Cache Stampede

Истечение популярного ключа вызывает массовое вычисление одного значения.

Простыми словами

Например, команда замечает симптомы «Cache Stampede», но лечит каждый случай отдельно. Более устойчивый вариант — команда устраняет механизм «Cache Stampede» через изменение границ, стимулов или ответственности. Поэтому поведение при сбое задают заранее: система должна ограничить ущерб, освободить ресурсы и дать оператору понятный сигнал.

Пример от @Vibeclakr

Пример при разработке

Популярный товар одновременно выпадает из кэша у тысячи запросов, и все идут в базу. Блокировка, jitter или раннее обновление не дают базе получить удар.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Исправлять отдельные проявления «Cache Stampede» по одному, не проверяя, нет ли у них общей причины.

Системный подход

Если «Cache Stampede» действительно объясняет проблему, менять не отдельный симптом, а сам механизм — например границы, стимулы или распределение ответственности.

Ограничения

«Cache Stampede» объясняет только часть происходящего в области «Надежность и SRE». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy. Site Reliability Engineering: Handling Overload. 2016. ISBN 9781491929124.

Первоисточник