MassTransit信封中DestinationAddress字段的用途是什么?

时间:2019-05-24 13:24:11

标签: masstransit

在发送消息时,MassTransit将有效负载包裹在一个信封中,该信封具有一个名为destinationAddress的字段。该字段有什么用途?

我发现这是因为我有许多C#微服务与某些基于节点和基于Java的服务进行通信-所以我一直在使用此处定义的最小有效负载: http://masstransit-project.com/MassTransit/advanced/interoperability.html

我将两个服务集成在一起没有问题,我只是想知道将destinationAddress作为消息本身的一部分有什么意义?确保消息不会误入错误队列只是一种束腰大括号的事情?

我本以为所有这些信息都可以导出,因为它实际上是由a)消息总线主机和b)实际发送消息时使用的队列名称构成的。

1 个答案:

答案 0 :(得分:1)

传输具有多种传递消息的方式。例如,将消息发布到主题会将目标地址设置为(主题的URI),但可以将其发送到具有不同地址的队列(通过订阅,由传输转发)。在这种情况下,信封具有原始的destinationAddress,而队列将具有不同的地址。

在某些情况下,消息可能会被调度,重新发送,出现故障等,并且在原始目的地可能不知道的情况下,拥有该信息有助于对生产系统进行故障排除。

所以,是的,在最简单的情况下,它似乎是多余的,但是当试图弄清为什么某些东西不起作用时,它在将来很有用。