L'idempotence signifie qu'une opération produit le même résultat, qu'elle soit exécutée une seule fois ou plusieurs fois. C'est crucial dans les systèmes distribués car les tentatives et les messages en double sont inévitables — les opérations idempotentes les rendent sûres.
Qu'est-ce que l'idempotence
An operation is IDEMPOTENT if doing it MULTIPLE times has the SAME effect as doing it ONCE:
→ "set balance to 100" → idempotent (same result however many times)
→ "add 100 to balance" → NOT idempotent (each call changes it → wrong if duplicated!)
→ in HTTP: GET, PUT, DELETE are idempotent; POST typically is NOT
Pourquoi c'est important
Retries and duplicates are INEVITABLE in distributed systems:
→ a request times out → the client RETRIES → but the original may have succeeded →
the operation runs TWICE (e.g. a payment charged twice! an order placed twice!)
→ message queues often guarantee AT-LEAST-ONCE delivery → duplicates happen
→ network issues, failures → operations get retried
→ if operations are IDEMPOTENT, duplicates/retries are SAFE (no harm from repeating)
→ this is essential for correctness and safe retries.
