我正在使用 ReceiveBatch API来处理来自Azure Service Bus的消息(批处理)。在此,我注意到了。
当消息大小增加时,批量接收的消息数将减少。
示例
当BatchSize = 50,MessageSize = 20Kb和Prefetch Count = 50 ===>调用serviceBusClient.ReceiveBatch = 12条消息
当BatchSize = 50,MessageSize = 10Kb和Prefetch Count = 50 ===>调用serviceBusClient.ReceiveBatch = 22条消息
当BatchSize = 50,MessageSize = 5Kb和Prefetch Count = 50 ===>调用serviceBusClient.ReceiveBatch = 44条消息
在以上三种情况下,我一次都能收到大约220到240 KB的消息。 那么,无论消息大小如何,接收更多消息的最佳实践是什么?在批处理中(serviceBusClient.ReceiveBatch)
答案 0 :(得分:0)
可以批量处理的邮件的最大大小为256 KB。如果大小id大于256 KB,则批次将被拒绝。
无论是单处理还是批处理,您都只能在256 KB之内发送或接收消息。
要确定消息的大小,请将实际消息内容添加到Blob存储中,然后将Blob URL作为消息正文发送。在这里,所有消息的大小将相同且非常小。
因此,您可以确定每批可以处理的消息数。
这也可以使用Service Bus Plugins来实现。