Kafka中的数据采集和统计机制

温馨提示: 获得更好阅读体验请访问

多图解Kafka中的数据采集和统计机制

在讲解kafka限流机制之前

我想先讲解一下Kafka中的数据采集和统计机制 你会不会好奇,kafka监控中,那些数据都是怎么计算出来的 比如下图这些指标

LogiKM监控图

LogiKM监控图

这些数据都是通过Jmx获取的kafka监控指标, 那么我们今天老探讨一下,这些指标都是怎么被计算出来的

在开始分析之前,我们可以 自己思考一下

如果让你统计前一分钟内的流速,你会怎么统计才能够让数字更加精确呢?

我相信你脑海中肯定出现了一个词:滑动窗口

在kafka的数据采样和统计中,也是用了这个方法, 通过多个样本Sample进行采样,并合并统计

当然这一个过程少不了滑动窗口的影子

采集和统计类图

我们先看下整个Kafka的数据采集和统计机制的类图

数据采集和统计全类图

数据采集和统计全类图

看着整个类图好像很复杂,但是最核心的就是两个Interface接口

Measurable: 可测量的、可统计的 Interface。这个Interface 有一个方法, 专门用来计算需要被统计的值的

/**

* 测量这个数量并将结果作为双精度返回

* 参数:

* config – 此指标的配置

* now – 进行测量的 POSIX 时间(以毫秒为单位)

* 返回:

* 测量值

*/

double measure(MetricConfig config, long now);

比如说返回 近一分钟的bytesIn

Stat: 记录数据, 上面的是统计,但是统计需要数据来支撑, 这个Interface就是用来做记录的,这个Interface有一个方法

 /**

 * 记录给定的值

 * 参数:

 * config – 用于该指标的配置

 * value – 要记录的值

 * timeMs – 此值发生的 POSIX 时间(以毫秒为单位)

 */

 void record(MetricConfig config, double value, long timeMs);

有了这两个接口,就基本上可以记录数据数据统计

当然这两个接口都有一个 MetricConfig 对象

MetricConfig

MetricConfig</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值