MassTransit для Azure служебной шины получает пакетные сообщения, чтобы избежать удушения - PullRequest
0 голосов
/ 17 марта 2020

Есть ли способ в MassTransit, что мы можем получать несколько сообщений за один звонок? Я использую MassTransit.Azure.ServiceBus.Core 6.0.2 в сервисе Windows.

Azure Сервисная шина имеет дроссель в 1000 кредитных лимитов как таковой c: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-throttling

Наш сценарий - одна топика c с 200 подписками. Из-за этого ограничения пропускная способность составляет всего 2 сообщения в секунду, что довольно мало. Любой дополнительный вызов регулируется Azure.

Было бы замечательно, если бы MassTransit мог получить 100 сообщений за 1 вызов, чтобы избежать регулирования.

1 Ответ

1 голос
/ 17 марта 2020

MassTransit не получает сообщение , совершая вызовы на Azure, потребители настраиваются с использованием AMQP и выталкиваются из брокера. Это стандартное поведение из коробки. Если вы меняете протокол на что-то другое, например, WebSockets, это может изменить способ доставки сообщений, но я не знаю, как это влияет на измерение сервиса в Azure Service Bus.

Nothing MassTransit может сделать на этом этапе изменило бы, как кредиты сообщения используются. Вы можете посмотреть, как Azure управляет ценообразованием с топи 200 подписки c (мне это кажется чрезмерным).

...