ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

Livraison at-most-once

L'inverse symétrique d'at-least-once. Acceptable seulement pour les flux dont la perte ne pose pas de problème métier.

Problème

Certains flux EDI portent des informations non-critiques : statuts intermédiaires IFTSTA en réseau IoT, événements de télémétrie sortis de capteurs logistiques, KPI horaires. Imposer at-least-once + déduplication sur ces flux ajoute du coût et de la latence pour un bénéfice nul — un statut « camion en route » perdu n'a pas d'impact métier majeur si le suivant arrive.

Forces

  • Volume très élevé sur les flux IoT/télémétrie ; la déduplication coûte cher.
  • Tolérance à la perte avérée par l'usage métier — un statut perdu est remplacé par le suivant.
  • Latence faible est plus importante que la complétude.
  • Le retry amplifierait la panne — quand le partenaire est down, des milliers de capteurs ne doivent pas tous retenter.

Solution

Mettre en place une politique d'envoi fire-and-forget : UDP ou Kafka acks=0, aucune tentative en cas de panne réseau, et aucune déduplication récepteur. La perte est documentée comme acceptable dans la convention partenaire ; les SLA sont exprimés en « X% des événements reçus en moins de Y secondes », pas en « zéro perte ».

Implémentation EDI

En EDI réglementaire (CUSDEC, INVOIC, ORDERS, PAYMUL) at-most-once est interdit : la perte d'une déclaration ou d'une commande a un impact métier ou légal. La sémantique est réservée aux flux secondaires : positions GPS d'IFTSTA capteurs, télémétrie pré-événement, indicateurs internes du hub. Côté Kafka, le réglage est acks=0 côté producer + auto.offset.reset=latest côté consumer. Côté HTTP, on accepte un POST sans body de retry et sans backoff.

Anti-patterns

  • At-most-once sur un INVOIC ou un ORDERS. Faute d'intégration grave — une commande perdue est un incident.
  • Configuration silencieuse. La sémantique doit être explicite dans la convention partenaire, pas un défaut d'outillage passé inaperçu.
  • Mélanger les sémantiques sur un même canal. Toutes les commandes au même endroit que la télémétrie produit une dette d'observabilité immédiate.
  • Compter le succès opérationnel d'un flux at-most-once comme zéro perte. Le SLA doit publier la perte attendue (par exemple 0.1% mensuel).

Patterns liés

Sources