使用azure服务总线,如何将单个消息发布到多个队列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用azure服务总线,如何将单个消息发布到多个队列?相关的知识,希望对你有一定的参考价值。

我有一个客户端应用程序将消息发布到单个位置/目标,我需要该消息,然后最终在3个单独的其他队列(并随后处理)基本上这是用例:一个网站收集客户领导形式的信息。领导信息被推送到一个宁静的网络API。然后,restfull web api将消息发布到单个位置,然后将成功结果返回给客户端。在后台,消息最终在4个队列上,最终发送到4个不同的其他Web服务(一些外部,一些内部)

系统需要在4个队列中处理所有4个队列的速度方面表现出色。但是线索的数量不一定非常高。 (每天可能有几百条线索)

这是我在想什么message flow的图像

答案

您可以将主题与自动转发功能结合使用。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-auto-forwarding

然后可以将对主题的单个发布设置为自动转发到4个单独的队列。

另一答案

而不是使用队列,你应该使用Topics

队列通常用于点对点通信,主题在发布/订阅方案中很有用。

主题和订阅使用发布/订阅模式提供“一对多”通信形式。

如果您确实需要使用队列,除了将消息的副本发送到不同的队列之外别无他法。

另一答案

解决您的业务场景的最佳解决方案是使用具有四个主题订阅的服务总线主题。您可以将消息发送到主题。您可以创建过滤器(或)Topic subscription rules来过滤服务总线主题接收的消息。

然后,您可以将每个主题订阅的auto-forward属性设置为所需的服务总线队列。

以上是关于使用azure服务总线,如何将单个消息发布到多个队列?的主要内容,如果未能解决你的问题,请参考以下文章

Azure 服务总线 http 与 websocket

如何查看 Azure 服务总线队列中的所有消息?

使用 azure 逻辑应用程序将消息作为字符串发送到 azure 服务总线

如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?

如何配置 Azure 服务总线队列以将消息推送到客户端而不进行轮询?

如何在节点js中向azure服务总线队列发送消息时将内容类型指定为application/json?