Kafka限流(Quota)设置

 

 12月 24, 2016 |  Nix.Huang

如果kafka客户端是认证的。那么可以使用userId和clientId两种认证方式。如果没有认证只能使用clientId限流。

bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'producer_byte_rate=1048576,consumer_byte_rate=1024' --entity-type clients --entity-name clientA

对clientId=clientA的客户端添加限流设置。producer_byte_rate表示每秒最多能写入到消息量,单位为byte/sec。consumer_byte_rate表示每秒最多能消费的消息了,单位也为byte/sec。
可以使用bin/kafka-producer-perf-test.sh压力测试脚本来验证你的限流配置是否生效。

bin/kafka-producer-perf-test.sh --topic test_perf --num-records 10000 --record-size 100 --throughput 150 --producer-props bootstrap.servers=localhost:9092 client.id=clientA

注意"client.id=clientA"属性值。
当然,你会简单的zookeeper命令行操作,也可以登录zookeeper执行如下的命令

[zk: localhost:2181(CONNECTED) 16] get /config/clients/clientA
{"version":1,"config":{"producer_byte_rate":"20480","consumer_byte_rate":"1024"}}

发现kafka将我们的限流设置以json的格式写入了zookeeper中。

发布了357 篇原创文章 · 获赞 228 · 访问量 179万+

猜你喜欢

转载自blog.csdn.net/wangshuminjava/article/details/105214481