-1

J'ai un système existant qui publie des messages via MassTransit à certains bus de service Azure nommé CompanyName.SystemName.Messages.SomethingGotUpdated. Comment puis-je configurer un nouveau système, en utilisant Rebus, pour être abonné à ce sujet particulier, puis acheminer tous les messages vers le gestionnaire IHandleMessages<SomethingGotUpdated> approprié?Comment interopérer avec les sujets Azure Service Bus créés par MassTransit à l'aide de Rebus?

J'ai regardé la documentation mais je n'arrivais pas vraiment à comprendre comment accomplir cela. Toute aide est grandement appréciée!

Répondre

1

Vous devez le faire en créant un récepteur MassTransit, qui reçoit les messages du sujet donné, puis transfère les messages (en utilisant Rebus 'one-way client) à vos points de terminaison Rebus. La raison pour laquelle vous devriez le faire est que MassTransit et Rebus utilisent très probablement Azure Service Bus de manière légèrement différente, et avec des en-têtes très différents sur les messages, ce qui signifie que les deux bus de service ne seront pas facilement compatible avec le fil. Certaines personnes pourraient avoir envie de résoudre ce problème, probablement en insérant une étape dans le incoming messages pipeline qui mappe les en-têtes MassTransit aux en-têtes Rebus, mais je crains que vous n'ayez même pas votre étape exécutée parce que Rebus nécessite la présence d'un en-tête d'ID de message spécifique, sinon le message sera immédiatement transféré dans la file d'erreurs. Ma suggestion est de considérer votre propre système basé sur MassTransit, comme s'il utilisait un réseau complètement séparé pour la communication, puis de considérer vos composants basés sur Rebus comme un système à part.