我有一个有两个订阅的主题。批量操作在主题级别和子级别均被禁用:
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/