Глоссарий

Идемпотентность

Идемпотентная операция — та, которую можно выполнить несколько раз, и результат будет таким же, как после первого выполнения. Критически важна в API и очередях, где запрос может быть повторён из-за сетевой ошибки.

В HTTP

Idempotency Key

Для POST-запросов клиент генерирует уникальный ключ (Idempotency-Key: uuid) и отправляет его в заголовке. Сервер сохраняет результат под этим ключом: если придёт повторный запрос — вернёт сохранённый результат без повторной обработки. Stripe, Twilio и другие платёжные API требуют этого.

В очередях

Воркер должен быть готов получить одно и то же сообщение дважды (at-least-once delivery). Сохраняйте обработанные ID и проверяйте перед обработкой.