Что такое идемпотентность API и как спроектировать надёжный слой дедупликации с помощью Idempotency-Key?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Храните ключ в области пользователя и операции, отпечаток параметров, состояние и итоговый ответ. Уникальное ограничение и транзакция не дают двум исполнителям одновременно создать эффект. Тот же ключ с другими параметрами отклоняется; для выполняющейся операции возвращается согласованный статус. Учтите сбой между внешним вызовом и записью результата: нужен идемпотентный провайдер или reconciliation. TTL выбирают по окну повторов, не забывая, что после удаления ключа защита исчезает.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее