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

Архитектура бэкенда

Идемпотентность и retry: тест на воспроизведение

Суть Промпты на свободное воспроизведение по всему юниту idempotency + retries. Сначала ответь по памяти, затем открой модельный ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Воспроизведение бьёт перечитывание. На каждый промпт восстанови полный ответ по памяти, прежде чем открыть модельный — именно усилие вытащить механизм обратно делает так, что он держится под давлением инцидента.

Цель

Восстанови хребет юнита, не подглядывая: почему exactly-once — иллюзия, машина ключа из четырёх состояний, full jitter и retry budget, композиция outbox + inbox, фикс конкурентности и наблюдаемость, которая превращает веру в доказательство.

Вспомните перед уходом
  1. 01
    Почему exactly-once доставка — иллюзия и как юнит вместо этого даёт effectively-once?
  2. 02
    Пройди четыре состояния, в которые сервер разрешает Idempotency-Key, с кодом статуса для каждого.
  3. 03
    Почему request fingerprint важен наряду с ключом и что молча ломается без него?
  4. 04
    Дай формулу full-jitter backoff, объясни, почему jitter не подлежит обсуждению, и скажи, почему пер-запросного cap на retry недостаточно.
  5. 05
    Почему любой дизайн «записать БД, потом опубликовать в broker» ломается и как outbox + inbox это чинят?
  6. 06
    Два конкурентных запроса с одним idempotency key. Почему SELECT-потом-INSERT небезопасен и что за production-хранилище?
Итог

Если ты восстановил каждый ответ — ты держишь хребет юнита: exactly-once это иллюзия, поэтому ты строишь effectively-once из at-least-once плюс dedup; один ключ на операцию разрешается в new / 409 / replay / 422, а fingerprint защищает от тихой потери; retry используют full jitter, уважают Retry-After, делают retry только на 5xx и живут под общим retry budget; dual-write закрывается атомарностью outbox плюс at-least-once relay плюс идемпотентным inbox; конкурентное создание ключа становится атомарным через ON CONFLICT DO NOTHING RETURNING; а durable-хранилище должно пережить сбой, потому что потерянный ключ — это двойное списание.

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

Trademarks belong to their respective owners. Editorial reference only.