Распределённые системы
Retry amplification: тест на свободное вспоминание
Вспоминание побеждает перечитывание. На каждый промпт скажи или напиши полный ответ по памяти, прежде чем открыть модельный — усилие вспоминания и есть то, что закрепляет механизм, когда тебя поднимут в 3 ночи.
Реконструируй хребет юнита — математику fan-out, metastable-петлю, jitter, retry budget, circuit breaker, идемпотентность и проброс дедлайна — не подсматривая в урок.
- 01Почему ретраи складываются умножением, а не сложением, и какова формула амплификации?
- 02Дай определение metastable failure и объясни, почему система остаётся внизу после устранения триггера.
- 03Почему exponential backoff необходим, но недостаточен, и что jitter добавляет сверху?
- 04Что такое retry budget, какое значение каноническое и что он ограничивает, чего не может backoff?
- 05Как circuit breaker рвёт самоподдерживающуюся петлю и каковы его три состояния?
- 06Назови два неоспоримых правила ретраев помимо тайминга и объёма и почему каждое предотвращает бесполезную работу.
Если ты смог реконструировать каждый ответ по памяти, ты держишь хребет юнита: ретраи множатся (retries^depth), storm становится metastable failure, который переживает свой триггер, jitter расцепляет толпу во времени, retry budget ~10% ограничивает объём, circuit breaker даёт окно нулевого трафика ретраев через свои три состояния, а два жёстких правила — ретраить только идемпотентную/retryable работу и пробрасывать дедлайн — убирают самые чистые бесполезные, амплифицирующие вызовы. Цель — никогда не ноль ретраев; это ретраи, которые не могут размножиться в storm, который тебя кладёт.