azureservicebus - Azure 服务总线的主题/子中批量操作 (enableBatchedOperations) 的目的?

标签 azureservicebus

我有一个有两个订阅的主题。批量操作在主题级别和子级别均被禁用:

TopicDescription td = new TopicDescription(topicName);
td.setEnableBatchedOperations(false);
managementClient.createTopic(td);

SubscriptionDescription sd1 = new SubscriptionDescription(topicName, subOne);
sd1.setEnableBatchedOperations(false);

managementClient.createSubscription(sd1, somerule);

//2nd sub creation skipped

我通过 Service Bus Explorer 验证了这些设置。

但是,我仍然可以使用 TopicClient.sendBatch(Collection<? extends IMessage> messages) 以批处理模式向主题发送消息方法。我可以使用 IMessageReceiver.receiveBatch(int maxMessageCount) 读取来自每个 Sub 的消息。这怎么可能?难道我没明白其目的吗? 启用批处理操作?

enableBatchedOperations 的目的是什么?

最佳答案

当您发送一批消息时,这就是客户端批处理。 实体级批处理旨在提高代理端吞吐量,同时增加一些延迟。请参阅文档 here .

关于azureservicebus - Azure 服务总线的主题/子中批量操作 (enableBatchedOperations) 的目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59578837/

相关文章:

c# - Azure Functions 到 Azure Servicebus 连接

c# - 是否可以在尝试接收消息之前确定消息是否被锁定

c# - .Net 7 隔离进程中的服务总线触发 Azure Function - 处理死信队列

azure - 不循环地从队列接收多条消息

asp.net-core - .NET Core Azure servicebusqueue 消息数

python - 使用 Python 从 Azure 服务总线主题检索消息属性

xamarin.forms - 来自 Xamarin Forms PCL 的 Azure ServiceBus

c# - 锁定服务总线队列并防止其他人访问它

azure 通知中心 - 应用程序卸载

node.js - 使用 AMQP、rhea 和 Node 从 Azure 服务总线队列查看消息时获取 "amqp:internal-error"