J'essaie de développer des microservices pour le processus de commande/transaction en utilisant le concept d'approvisionnement d'événements. Le personnel peut passer une commande/transaction pour un client par téléphone. Le système enregistre également le nombre de commandes groupées par client. Il utilise AWS Kinesis pour envoyer l'identifiant du client dans l'événement OrderCreated au service des données client afin que nous puissions incrémenter le nombre de commandes créées. Nous séparons le traitement des commandes et le client en fonction du concept DDD. Mais, nous devons anticiper les erreurs humaines lorsque le personnel sélectionne un mauvais identifiant client pour la commande. Ainsi, il y a une fonctionnalité pour changer le client pour la commande connexe.Chorégraphie d'approvisionnement d'événements liée à plusieurs enregistrements
Le problème est que l'événement orderUpdated ne contient que les dernières données de la commande. Cela signifie que l'événement n'a que le nouvel identifiant client. Nous pourrions incrémenter le nombre de commande pour un nouveau client. Mais, nous devrions décrémenter le numéro de commande pour l'identifiant client précédent.
Comment résoudre ce problème? Pourriez-vous me donner quelques suggestions?
Merci à l'avance
Où le nombre de commandes clients est-il stocké? Est-il également stocké dans le consommateur qui consomme des événements orderUpdated et orderCreated? –
le nombre de commandes client est stocké dans l'instantané des données client. le consommateur consomme simplement l'événement et détermine si le nombre de commandes client doit être incrémenté ou décrémenté. Avez-vous des suggestions pour le rendre meilleur? – Benedict