Kafka限流

客户端认证

如果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。设置后立即生效。

在producer和consumer的配置中需要加入client.id配置:

Producer

props.put(ProducerConfig.CLIENT_ID_CONFIG, "clientA");

Consumer

props.put(ConsumerConfig.CLIENT_ID_CONFIG, "clientA");

限流效果:


在zookeeper上可以查看限流的信息:

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

猜你喜欢

转载自blog.csdn.net/oitebody/article/details/79873487