Что такое идемпотентность

«Что такое идемпотентность» — вопрос из категории API и интеграции, который задают на 30% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Пример в коде (HTTP-методы):

# Идемпотентный PUT-запрос (обновление ресурса)
PUT /users/1
{
    "name": "Alice"
}

# Неидемпотентный POST-запрос (создание нового ресурса при каждом вызове)
POST /users
{
    "name": "Bob"
}

Ключевые сферы применения:

  • Финансовые транзакции (чтобы избежать дублирования платежей)
  • Распределённые системы (для обработки повторных запросов)
  • Автоматизированные процессы (при сбоях и повторах)

Видео-ответы