Azure Service Bus主题多个订阅者

Cha*_*ris 5 c# azure azureservicebus

我是Azure Service Bus的新手,想知道我是否可以将多个订阅者添加到队列或主题中?在Rabbit MQ中,我可以拥有1个发布者的多个订阅者.

我想要做的是,我正在使用CQRS,当某些命令在处理事件时进入系统时,我想将它们推入消息队列.

我希望2个订阅者能够从该队列中获取消息,其中一个用于我内部处理.另一个用于处理并向外发送.

Gau*_*tri 10

我是Azure Service Bus的新手,想知道我是否可以将多个订阅者添加到队列或主题中?

是.Azure Service Bus主题可以实现这一点.发送给主题的消息可以有多个订阅者.由此link:

与队列相反,其中每个消息由单个消费者处理,主题和订阅以发布/订阅模式提供一对多形式的通信.对于扩展到非常大量的收件人很有用,每个已发布的邮件都可用于向该主题注册的每个订阅.消息被发送到主题并传递给一个或多个关联的订阅,具体取决于可以基于每个订阅设置的过滤规则.

它的工作方式是您创建一个主题,然后在该主题中创建多个订阅.在每个订阅中,您可以定义邮件过滤规则.将消息发送到主题时,Azure Service Bus会根据每个订阅中的过滤规则匹配该消息,如果找到匹配规则,则会将消息发送到该订阅.

  • 消息保留在服务总线中,直到所有注册的订阅者收到消息或超过定义的设置(消息在总线中保留的时间、消息的最大大小等)。 (4认同)
  • 每个订阅者都需要自己的订阅吗?或者他们可以共享订阅吗?如果他们共享订阅,他们都可以处理消息还是只处理其中一个消息?如果它们共享订阅但具有不同的过滤器,它们是否仅处理过滤器允许的消息? (2认同)