kafka流量限制

文章目录

  • 1.官网参考地址
  • 2.流量限制的价值
  • 3.可以设置限制流量参数
  • 4.流量限制维度及组合
  • 5.如何设置流量
  • 6.限制用户流量阀值如何设置
  • 7.流量限制效果

1.官网参考地址

http://kafka.apache.org/21/documentation.html#design_quotas

2.流量限制的价值

避免用户异常操作使入流量或者出流量突增,对集群造成巨大压力,导致集群压力过载甚至被打挂,部分节点雪崩,最终影响到集群所有业务的正常运行问题;限制流量后就可以让用户进行平滑的进行生产和消费,避免流量突增对集群稳定性造成的威胁。

3.可以设置限制流量参数

producer_byte_rate=1024 #单个broker入流量限制参数,单位字节
consumer_byte_rate=2048 #单个broker出流量限制参数,单位字节
request_percentage=200 #限制CPU运行时间片百分比,不建议使用

4.流量限制维度及组合

限制流量可以根据用户、客户端ID、或者用户和客户端ID的组合进行限制。各组合优先级如下:
/config/users//clients/
/config/users//clients/
/config/users/
/config/users//clients/
/config/users//clients/
/config/users/
/config/clients/
/config/clients/
建议根据用户进行流量限制,因为这样可以结合ACL安全认证使用。本文主要介绍按照用户维度进行流量限制,按照客户端ID的方式请参考官网文档。

5.如何设置流量

设置用户流量限制(入流量和出流量都设置为1024字节)

bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config ‘producer_byte_rate=1024,consumer_byte_rate=1024’ --entity-type users --entity-name user1

查看用户流量限制

bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-type users --entity-name user1
输出结果显示如下:
Configs for user-principal ‘user1’ are producer_byte_rate=1024,consumer_byte_rate=2048

6.限制用户流量阀值如何设置

在启动kafka的broker服务时需要开启JMX参数配置,方便通过其他应用程序采集kafka的各项JMX指标进行服务监控。

对于用户流量限制,主要需要参考的指标包括以下两个:
(1)消费流量指标:ObjectName:kafka.server:type=Fetch,user=acl认证用户名称 属性:byte-rate(用户在当前broker的出流量)、throttle-time(用户在当前broker的出流量被限制时间)
(2)生产流量指标:ObjectName:kafka.server:type=Produce,user=acl认证用户名称 属性:byte-rate(用户在当前broker的入流量)、throttle-time(用户在当前broker的入流量被限制时间)

下图为JMX指标展示截图
kafka流量限制_第1张图片

7.流量限制效果

下图为JMX指标展示限制流量前后及放开流量限制后效果
kafka流量限制_第2张图片

你可能感兴趣的:(Kafka)