【发布时间】:2021-06-17 21:30:57
【问题描述】:
我有多个微服务。他们目前通过消息代理进行通信,我正在使用 Masstransit rabbitmq。一切正常。
现在,我有一个服务 A 发布消息而另一个服务 B 使用它的情况。服务 B 发送大量电子邮件,这需要一些时间。如果失败,它会调用一个新事件,我想在该事件中发送否定确认并希望服务 A 在延迟一段时间后再次重新发布。我知道我可以通过服务 B 消费方法中的异常,但这在这里是不可能的。发送电子邮件以独立的方式运行。如何将消息从服务 A 重新发布到 B?
【问题讨论】:
-
当 A 向 B 发布它的消息时,让它包含一个密钥,B 稍后可以使用该密钥将消息发送回 A,其中还包括一个状态值,然后 A 使用该密钥来查看 -更新较早的消息并使用状态值来确定是将其从最近的历史队列中删除,还是重新发送给 B。
标签: c# rabbitmq microservices masstransit