Garanties de livraison

Au-plus-une-fois peut perdre des messages, au-moins-une-fois peut les dupliquer, et le traitement exactement-une-fois s'obtient en combinant livraison au-moins-une-fois et traitement idempotent ou transactions.

Où on le retrouve dans les vrais systèmes

  • Workers en arrière-plan

    Les workers absorbent le travail lent : e-mails, redimensionnement d'images, rapprochement de paiements. La livraison est au-moins-une-fois : les traitements doivent être idempotents, sinon les doublons produisent deux fois leurs effets.

    En production : Celery, Sidekiq, AWS Lambda event source, Kubernetes Jobs

  • File de messages

    Une file absorbe les pics : l'API répond dès que le message est stocké, et les workers vident l'arriéré à leur rythme. Les files standard livrent au moins une fois et peuvent réordonner ; les files FIFO gardent l'ordre mais plafonnent le débit. Les messages qui échouent à répétition partent en dead-letter.

    En production : Amazon SQS, RabbitMQ, Azure Service Bus, Google Cloud Tasks

Regarde-le casser, puis répare-le

Construis une architecture, envoie-lui une journée de trafic et de pannes, et comprends pourquoi elle tient ou cède. Gratuit pour commencer.