MassTransit for Azure Service Bus 批量接收消息以避免限制

MassTransit for Azure Service Bus receive messages in batch to avoid throttling

在 MassTransit 中有没有一种方法可以让我们在一次调用中接收多条消息? 我在 Windows 服务中使用 MassTransit.Azure.ServiceBus.Core 6.0.2

A​​zure 服务总线的限制为每秒 1000 个信用限额: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-throttling

我们的场景是一个有 200 个订阅的主题。由于该限制,吞吐量仅为每秒 2 条消息,这是非常低的。 Azure 会限制任何额外的调用。

如果 MassTransit 可以在 1 次调用中检索 100 条消息以避免限制,那就太好了。

MassTransit 不会通过调用 Azure 接收 消息,消费者使用 AMQP 配置并从代理推送。这是开箱即用的默认行为。如果您将协议更改为其他协议,例如 WebSockets,这可能会改变消息在幕后的传递方式,但我不知道这对 Azure 服务总线中的服务计量有何影响。

此时 MassTransit 无法改变消息积分的使用方式。您可能会看看 Azure 如何管理 200 个订阅主题的定价(对我来说这太过分了)。