Aller au contenu
Lecture · 2 min

Concevoir une retry queue persistée

Livraison garantie d'événements sans broker : PostgreSQL, backoff exponentiel, reprise après redémarrage.

Fiable

Le problème

Un service central reçoit des événements et doit les livrer : notifications, webhooks sortants. Les destinataires tombent, redémarrent, dépassent les délais. Deux échecs classiques :

Le pattern

Traiter la livraison comme un état persisté :

Pourquoi pas un broker ?

RabbitMQ ou un équivalent fournit tout ça nativement, au prix d’une pièce stateful critique supplémentaire à exploiter, sauvegarder et superviser. Sur une plateforme mono-nœud dont la base est déjà sauvegardée et connue, le compromis penche pour PostgreSQL : les garanties viennent des transactions, et l’outillage de diagnostic est du SQL. Le jour où le débit l’exige, l’interface de publication permet de changer d’implémentation sans toucher au reste.

Les leçons