Des nouvelles ont été ajoutées en tête de listes.
Remontez pour les voir.
Inscription à la newsletter
La leçon de Kafka que personne ne vous enseigne jusqu'à ce qu'un client soit facturé deux fois
DEV -
24/05
TL;DR : Kafka garantit une livraison au moins une fois, ce qui signifie que votre consommateur recevra parfois le...
TL;DR : Kafka garantit une livraison au moins une fois, ce qui signifie que votre consommateur recevra parfois deux fois le même événement. Si le traitement de cet événement a des effets secondaires comme la facturation ou l'envoi d'e-mails, vous devez rendre le consommateur idempotent. Voici le modèle qui l'a corrigé pour nous.
Je veux commencer par le bug parce que le bug est tout le problème.
Un client a ouvert un ticket d'assistance indiquant qu'il avait deux factures identiques pour la même commande. Même montant. Mêmes éléments de campagne. Créé à quatre secondes d'intervalle. Personne dans l’équipe n’avait touché à cette commande manuellement.
Nous l'avons retracé jusqu'à l'un de nos microservices Rust. Il avait redémarré en cours de traitement d'un lot d'événements. Quand il revint, Kafka restitua les événements dont il n'était pas sûr qu'ils soient terminés. Notre consommateur de facturation a traité ces événements une deuxième fois. Deux factures.
Rien n’a été cassé au sens où nous l’entendons habituellement. Aucune exception. Aucun travail échoué. Le système ... [Courte citation de 8% de l'article original]
Loading...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité