❓ Что такое идемпотентность и почему она важна?
Идемпотентная операция при многократном выполнении даёт тот же результат, что и при однократном. В HTTP идемпотентны GET, PUT, DELETE, а POST — нет.
Почему это критично: в распределённых системах сетевые сбои и таймауты приводят к автоматическим повторам (retry). Если операция не идемпотентна — например, «снять 100 рублей» — повтор спишет деньги дважды.
Подходы к идемпотентности:
→ идемпотентные ключи (idempotency key) для дедупликации повторных запросов;
→ проектирование операций как «установить состояние X», а не «изменить на дельту»;
→ отслеживание уже обработанных id запросов.
Особенно важно для платежей и очередей сообщений с гарантией at-least-once.
Post #1325
730
- 🔥 6
- 👍 2
- 🤔 1