Кеширование
Cache stampede: свободное воспроизведение
Воспроизведение по памяти бьёт перечитывание. Для каждого промпта проговорите или запишите полный ответ из памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет механизмы к моменту, когда вас разбудят в 3 ночи.
Восстановите хребет юнита, не подглядывая: почему всплеск — это и есть отказ, где single-flight и lock ограничивают стадо, почему XFetch coordination-free, чем жертвует SWR, зачем negative caching и как stampede превращается в metastable failure.
- 01Почему кеш делает режим отказа хуже, чем вообще без кеша, хотя суммарный объём запросов ниже?
- 02Сравните in-process single-flight и Redis distributed lock: что каждый ограничивает, сколько стоит и в каком порядке применять.
- 03Как XFetch добивается 'ожидаемо ровно одно раннее обновление на окно TTL' без координации и когда он отказывает?
- 04Что гарантирует stale-while-revalidate на границе TTL, чем жертвует и как CDN request coalescing это расширяет?
- 05Что такое negative caching и какую атаку открывает его отсутствие?
- 06Опишите metastable failure, который может последовать за неотмитигированным stampede, и почему система не восстанавливается сама.
Если вы восстановили каждый ответ по памяти — вы держите хребет юнита: всплеск, а не объём, есть отказ; single-flight ограничивает стадо процесса, а lock — стадо флота; XFetch обновляет горячие ключи до истечения без координации (и отказывает на холодных); SWR покупает нулевое ожидание ценой ограниченного устаревания; negative caching закрывает дыру усиления miss-storm; а неотмитигированный stampede может опрокинуться в metastable retry storm, который рвёт только внешний kill-сигнал.