Apache kafka 什么';在卡夫卡客户端中使用ClientQuotaCallback的原因是什么?

Apache kafka 什么';在卡夫卡客户端中使用ClientQuotaCallback的原因是什么?,apache-kafka,Apache Kafka,我在它的评论中找到了这一行:“代理的配额回调接口,可以定制客户端配额计算”。但它没有任何子类,为什么?我在谷歌上搜索了它,但找不到一个示例。在Kafka中,决定将所有代理可插拔API作为Java接口。因此,kafka客户端中有一些与客户端无关的接口。这是因为服务器端实际上是用Scala编写的 org.apache.kafka.server下的任何内容都是代理的可插入API。这些可用于定制代理端的某些行为: 例如,ClientQuotaCallback允许定制卡夫卡经纪人计算配额的方式。例

我在它的评论中找到了这一行:“代理的配额回调接口,可以定制客户端配额计算”。但它没有任何子类,为什么?我在谷歌上搜索了它,但找不到一个示例。

在Kafka中,决定将所有代理可插拔API作为Java接口。因此,kafka客户端中有一些与客户端无关的接口。这是因为服务器端实际上是用Scala编写的

org.apache.kafka.server下的任何内容都是代理的可插入API。这些可用于定制代理端的某些行为:

例如,
ClientQuotaCallback
允许定制卡夫卡经纪人计算配额的方式。例如,您可以为组构建配额,或者在创建主题/分区时对配额进行缩放。详细说明这一切是如何运作的


当然,为了使这些工作正常,您需要构建这些接口的实现,并将它们放在代理上的类路径中。客户端不能直接使用它。

谢谢您的回答。顺便问一下,现在可以通过可用的API(比如adminClient.createTopic)而不是命令行实现自定义配额了吗(如bin/kafka-configs.sh--zookeeper localhost:2181--alter--add config'producer\u byte\u rate=1024,consumer\u byte\u rate=2048,request\u percentage=200'--实体类型用户--实体名称用户1--实体类型客户端--实体名称客户端)或者我必须自己实现?再次感谢。kafka-configs仅允许您设置配额限制,而如果您实现
ClientQuotaCallback
您可以决定如何将限制应用于客户端