在讲解kafka限流机制之前
我想先讲解一下Kafka中的数据采集和统计机制
你会不会好奇,kafka监控中,那些数据都是怎么计算出来的
比如下图这些指标
这些数据都是通过Jmx获取的kafka监控指标...这里我需要对两个参数重点说明一下
单个样本的时间窗口大小: 当前记录时间 - 当前样本的开始时间 >= 此值 则需要使用下一个样本。...单个样本的事件窗口大小: 当前样本窗口时间次数 >= 此值 则需要使用下一个样本
在整个统计中,不一定是按照时间窗口来统计的, 也可以按照事件窗口来统计, 具体按照不同需求选择配置
好了,大家脑海里面已经有了最基本的概念了...中所有的值累加(最终会 除以 Sample数量 求平均数的)
记录事件次数+1。..., 因为不同场景想要得到的数据不同,所以这个只是一个抽象方法,需要实现类来实现这个计算逻辑,比如如果是计算平均值 Avg, 它的计算逻辑就是把所有的样本数据值累加并除以累积的次数
那我们再来看看不同的统计实现类