实战Alibaba Sentinel:深度解析微服务高并发流量治理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 基于滑动窗口实现资源指标数据统计

Sentinel是基于滑动窗口实现资源的实时指标数据统计的。如果要深入理解Sentinel的限流实现原理,就要先了解如何实现其指标数据的统计,例如,如何统计QPS。

为了学起来比较简单,我们不直接分析Sentinel的源码,而是分析笔者从Sentinel中摘抄的且经过改造后的qps-helper工具包的代码。这两者总体上是一样的,只是笔者去掉了一些指标数据统计,将Sentinel一些自定义的类替换成了JDK提供的类,并封装成了通用的QPS统计工具包。

当然,也可以直接查看Sentinel的源码,其源码在sentinel-core模块的slots包下。