如何在消息传递中使用相关id的实际示例?

JD.*_*JD. 12 nservicebus message-queue amqp rabbitmq cqrs

任何人都可以举例说明生产中如何使用相关ID?

我已经读过它用于请求/响应类型的消息,但我不明白我会在哪里使用它?

我可以想到的一个例子(可能是错误的)是在发布订阅场景中,我可以有5个订阅者,如果我得到5个具有相同关联ID的回复,那么我可以说我的所有订阅者都收到了它.不确定这是否正确使用它.

或者如果我发送一条简单的消息,我可以使用相关性来保证客户端收到它.

还有其他例子吗?

Juh*_*äki 10

一个Web应用程序,它为外部人员提供HTTP API以执行处理任务,并且您希望将调用者的结果作为对他们所做的HTTP请求的响应.

请求进入,描述任务的消息被前端服务器推送到队列.之后,前端服务器阻塞等待具有相同相关ID的响应消息.工作机器池正在侦听队列,其中一个接收任务,执行它并将结果作为消息返回.一旦具有正确的相关ID的消息进入,前端服务器继续将响应返回给调用者.


Per*_*Per 5

CQRS 和 EventSourcing的上下文中,命令消息关联 ID 很可能与域中的相应事件一起存储。此信息稍后可用于形成审计跟踪