awesome-everything EN
↑ Обратно к восхождению

Кеширование

Dogpile: тест на свободное припоминание

Суть Свободное припоминание поперёк юнита про dogpile. Сначала ответь своими словами, потом открой модельный ответ и сверься по механике блокировки, lease и XFetch.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Припоминание сильнее перечитывания. На каждый вопрос проговори или запиши полный ответ по памяти до того, как откроешь модельный — усилие припоминания закрепляет механику блокировки и lease, когда тебя поднимут пейджером в 3 часа ночи.

Цель

Реконструируй ключевые механизмы юнита — коллизию в момент истечения, single-flight против distributed-блокировки, TTL блокировки и продление lease, фенсинг и XFetch — не подглядывая в урок.

Вспомните перед уходом
  1. 01
    Почему dogpile — именно проблема параллелизма в момент истечения и почему один горячий ключ — худший случай?
  2. 02
    В чём разница между локальным single-flight и distributed lock и когда нужен каждый?
  3. 03
    Почему у блокировки пересчёта обязан быть TTL и как его выбрать?
  4. 04
    Объясни продление lease: какую проблему оно решает и какой новый сбой вводит.
  5. 05
    Что такое fencing-токен и почему он важен для leased-блокировки пересчёта?
  6. 06
    Когда выбирать раннее вероятностное истечение (XFetch) вместо блокировки и как оно работает?
Итог

Если ты смог реконструировать каждый ответ по памяти — ты держишь хребет юнита: dogpile это коллизия в зазоре между первым промахом и переписыванием значения на одном горячем ключе; single-flight коалесит на процесс, а distributed lock коалесит флот; блокировке нужен TTL длиннее худшего пересчёта или, лучше, продлеваемый lease; leased-блокировке всё ещё нужен fencing-токен, потому что приостановленный держатель может лапситься и потом перезаписать; а XFetch растворяет коллизию целиком, пересчитывая рано и в одиночку до того, как ключ вообще истечёт под нагрузкой.

Продолжить восхождение ↑Dogpile: чтение кода и блокировок
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.