我一直在寻找关于这两者之间区别的很好的解释, 但没有真正找到一个。
到目前为止,我所知道的是: 相关性ID是一个字符串(已转换为字符串的Guid),而传递标签是一个整数。 每个邮件的相关性ID都是唯一的,而传递标签仅在 通道(通道是作用域)。
很好。...但是目的有什么不同?为什么我们需要一条消息的两个标识符?
答案 0 :(得分:1)
这两个标识符存在于两个不同的通信概念层,并且具有在每种情况下都有用的不同属性。虽然可以设计一种协议,而该标识符具有一个用于这两个目的的标识符,但将它们分开可以使这两种实现都更加简单。
答案 1 :(得分:0)
Correlation ID通常在RabbitMQ的上下文中使用,当我想查看发送消息的同步行为时,响应该消息的另一个发送者将发送响应,但在Reply-to标记中将具有relatedID。在RabbitMQ中复制的常见模式是RPC调用,它更像是同步消息传递。
但是,传递标记是每个通道的消息传递的指示器,通常在遵循“确认传递”模型时会进入作用域。
两者的用途完全不同,因此不是消息标识符。