Définition
La réplication non intentionnelle d'un ou plusieurs messages transmis, de sorte que le récepteur reçoit plusieurs copies de la même instance logique de message, distincte de la réplication délibérée (par exemple multicast, sauvegardes) ou de retransmissions indépendantes portant des identifiants différents.
Principe
Principe
Lorsque la confirmation de livraison est incomplète ou que les identifiants sont insuffisants, les systèmes qui réessaient ou relayent des messages peuvent produire plusieurs livraisons indiscernables ; éviter des effets indésirables exige donc une identité explicite (identifiants uniques), un traitement idempotent ou une déduplication côté récepteur.
Démonstration
Démonstration
Scénario illustratif — Situation : Un capteur envoie un événement à un collecteur via une liaison sans fil instable. Reconnaissance : Le collecteur constate la réception deux fois du même contenu avec le même identifiant de message. Action : Le collecteur rejette la seconde copie en s'appuyant sur l'ID unique. Conséquence : L'application traite l'événement une seule fois et évite une modification d'état en double.
Mauvaise application
Mauvaise application
Interpréter chaque réception répétée de charges utiles similaires comme des événements distincts. L'erreur consiste à traiter la simple similarité de contenu comme la preuve d'occurrences séparées sans vérifier des identifiants stables ou des horodatages ; cela conduit au double traitement en présence de duplicata.
Conséquence
Conséquence
Si les doublons ne sont pas détectés ou tolérés par conception, ils peuvent provoquer des transactions dupliquées ou des transitions d'état répétées (par exemple facturation dupliquée, écritures de base de données en double), un gaspillage de bande passante et de ressources de calcul, et un état système incohérent entre répliques.
Inversion
Inversion
Dans les architectures qui répliquent volontairement les messages (diffusion multicast, journalisation répliquée, redondance pour la disponibilité), plusieurs livraisons sont attendues et sûres seulement si les consommateurs sont conçus pour l'idempotence ou si les sémantiques de livraison (par exemple exactement une fois) sont explicitement garantis.
Limite
Limite
Clairement dans : Un même message logique avec le même identifiant unique reçu plusieurs fois par le même point de terminaison. Cas limitrophe : Une retransmission qui modifie un horodatage ou un champ de séquence rendant l'identité ambiguë et où la déduplication dépend d'une politique applicative. Clairement hors : Des messages distincts envoyés intentionnellement à plusieurs destinataires (multicast) ou des doublons créés volontairement à la source.
Tension sémantique
Tension sémantique
Fiabilité versus idempotence — les mécanismes qui augmentent la probabilité de livraison (par ex. retransmissions agressives) augmentent le risque de duplicata sauf s'ils sont assortis d'identité ou d'un traitement idempotent, imposant un compromis entre garanties de livraison et complexité applicative.
Synthèse
Synthèse
Traiter la duplication de message est essentiellement un problème de conception d'interface : les mécanismes de livraison et les applications doivent partager des contrats explicites d'identité et de traitement (IDs, idempotence, fenêtres de déduplication) pour empêcher que des retransmissions réseau ne deviennent des duplicata sémantiques côté application.