这是关于Microsoft.Azure.ServiceBus
的一般性问题。在Azure中,当扩展应用程序时,如果该订户已多次扩展,Azure如何处理向订阅者分派消息。图1显示了典型情况,图2显示了我正在讨论的场景:
默认情况下,Azure是否向所有实例发送相同的消息?或Azure是否“足够”以在实例之间对消息进行负载均衡?如果没有,人们如何正常处理这种情况?我只希望一个实例在缩放的情况下接收此消息。
Azure Service Bus将向所有订阅者发送已发布消息的副本。
如果您使用相同的订阅实体扩展订户,那么您已经有一个完成的消费者,其中到达订阅的消息将由单个订户实例处理。这是假设处理没有失败并且消息完成。否则,另一个实例将再次处理消息。
当订阅者的每个实例正在侦听不同的物理订阅时,第一种情况将起作用。