Я использую MassTransit для отправки и получения команд микросервиса. Он отправляет и получает штраф, когда я запускаю его локально (подключение к экземпляру службы Azure Service Bus удаленно). Например. Я посылаю команду из локального консольного приложения в удаленную очередь ServiceBus (которую я вижу в Service Bus Explorer 3.0.4), а затем моя локальная служба TopShelf получает и обрабатывает эту команду. Но когда я раскрываю свою службу он не со следующей ошибкой:MassTransit на Azure Service Bus бросает MessageSizeExceededException
Microsoft.ServiceBus.Messaging.MessageSizeExceededException: The received message (delivery-id:0, size:1904586 bytes) exceeds the limit (262144 bytes) currently allowed on the link.
Я только отправка одного сообщения, и сообщение является довольно большой, но, конечно, не 1.8MB, как упоминалось в сообщении об ошибке! Это немного больше 100 КБ.
Я нашел this post regarding batch partitioning of messages, но это мне кажется релевантным, если вы хотите разделить несколько сообщений на более мелкие группы сообщений. Я посылаю только одно сообщение. Кроме того, я не могу найти документацию в MassTransit о том, как это сделать на самом деле. Я попытался установить IServiceBusHostConfigurator
так: cfg.BatchFlushInterval = TimeSpan.FromSeconds(0.05);
- Может кто-то объяснить, почему он думает, что мои сообщения так намного больше?
- Могу ли я разделить одно сообщение на более мелкие разделы? Или есть другое решение?
- Следует ли вообще отключить разделение? Если да, то как?
Спросите на https://groups.google.com/forum/#!forum/masstransit-discuss – stuartd
@stuartd Спасибо, я разместил тот же вопрос на этом форуме. Не знаете, как работают группы Google - возможно, он нуждается в проверке или что-то в этом роде, но я не могу видеть свой вопрос нигде. Я отправил его снова, чтобы убедиться, но после нажатия «POST» он просто исчезает и перенаправляется на главную страницу. – hofnarwillie