Idempotence
Idempotence : propriété d'une opération dont l'exécution répétée produit le même résultat qu'une exécution unique. Écrire une miniature sous un nom déterministe est idempotent ; envoyer un e-mail ou débiter un compte ne l'est pas naturellement.
Elle est indispensable partout où une même demande peut arriver deux fois : messages livrés « au moins une fois » par une file, requêtes HTTP réessayées par un client ou un répartiteur, tâches relancées après une panne. On la construit par un résultat déterministe, une vérification préalable, ou l'enregistrement de l'identifiant de chaque demande traitée sous une contrainte d'unicité, dans la même transaction que l'effet. En HTTP, les méthodes GET, PUT et DELETE sont définies comme idempotentes, POST ne l'est pas.
Dans les cours
- Scaleway en pratique, leçon 9 : Messaging and Queuing
- Scaleway en pratique, leçon 6 : Serverless Functions et Jobs