如何限制每分钟订阅内要使用的消息数

问题描述

我有 5 个 .netcore 应用程序实例,用于侦听来自 Azure 服务总线主题的消息。它们都使用单一订阅来消费消息。

有什么想法可以限制订阅的消息消耗,例如。应用程序的任何实例的 1 条消息。每分钟?

解决方法

无论您在何处使用内置消息泵(消息处理器)或手动消费消息,您的消费者的每个实例都控制并发级别。

  • 对于消息处理器,您可以使用 ServiceBusProcessorOptions.MaxConcurrentCalls 来控制它。查看示例 here
  • 对于手动接收操作,您需要编写自定义逻辑。查看手动接收示例 here