← Назад в словарь

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

Идемпотентность (Idempotency) — повторяемость без изменения результата

Суть в одном предложении

Идемпотентность — свойство операции: повторное выполнение с теми же данными не меняет результат.

Краткое определение

Идемпотентность — свойство операции, при котором повторное выполнение с теми же входными данными не меняет итоговый результат системы.

Оригинал и перевод

  • Язык: английский
  • Оригинал: Idempotency
  • Буквальный перевод: одинаковый эффект при повторении

Синонимы и варианты написания

  • Idempotency
  • Идемпотентный запрос

Происхождение

Понятие из математики и теории систем; в IT широко применяется в HTTP и распределённых сервисах из-за ретраев и сетевых сбоев.

Где используется

  • HTTP API (POST, оплата, заказы)
  • Очереди сообщений и повторная обработка

Когда это важно

При ретраях, таймаутах и повторной доставке сообщений: без идемпотентности возможны дубли операций.

Подробное объяснение

Практически важно для:

  • повторной отправки запросов при таймаутах/ошибках сети;
  • очередей задач и повторной обработки сообщений;
  • платежей и заказов (чтобы не создать дубль).

Обычно реализуют через idempotency key и хранение результата операции на стороне сервера.

Аналоги и связанные термины

  • Retry
  • Exactly-once / at-least-once (семантики доставки)
  • Deduplication
  • Rate limiting

Пример использования

«POST /payments делает операцию идемпотентной через Idempotency-Key: повторный запрос не создаст второй платёж.»

Мини‑FAQ

  • Идемпотентность и кэш — одно и то же? Ответ: Нет, идемпотентность — про одинаковый результат при повторе; кэш — про хранение ответа для ускорения.

Смотри также

  • Rate limiting
  • Retry
  • Backpressure