我是Azure Service Bus的新手,想知道我是否可以将多个订阅者添加到队列或主题中?在Rabbit MQ中,我可以为1个发布者提供多个订阅者。
我要做的是,我正在使用CQRS,当处理事件时某些命令进入系统时,我想将它们推入消息队列。
我希望2个订阅者能够从该队列中获取消息,其中一个用于我内部处理。另一个用于处理并向外发送。
答案 0 :(得分:8)
我是Azure Service Bus的新手,想知道我是否可以多次使用 队列或主题的订阅者?
是。 Azure Service Bus主题可以实现这一点。发送给主题的消息可以有多个订阅者。从link
:
与队列相反,其中每个消息由单个处理 消费者,主题和订阅提供了一对多的形式 通信,以发布/订阅模式。用于缩放到 非常大量的收件人,每个发布的消息 可用于在主题中注册的每个订阅。消息是 发送到主题并传递给一个或多个相关订阅, 取决于可以按订阅设置的过滤规则。
它的工作方式是您创建一个主题,然后在该主题中创建多个订阅。在每个订阅中,您可以定义邮件过滤规则。将消息发送到主题时,Azure Service Bus会根据每个订阅中的过滤规则匹配该消息,如果找到匹配规则,则会将消息发送到该订阅。