kafka流量限制

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/<user>/clients/<client-id>
/config/users/<user>/clients/<default>
/config/users/<user>
/config/users/<default>/clients/<client-id>
/config/users/<default>/clients/<default>
/config/users/<default>
/config/clients/<client-id>
/config/clients/<default>
建议根据用户进行流量限制,因为这样可以结合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指标展示截图
在这里插入图片描述

7.流量限制效果

下图为JMX指标展示限制流量前后及放开流量限制后效果
在这里插入图片描述

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值