亲宝软件园·资讯

展开

Sentinel滑动窗口算法

小白先生哦 人气:0
> 在前面搞清楚了Sentinel的使用后,大致理了一下Sentinel的责任链,搞清楚了这个,基本就已经梳理清楚sentinel-core模块的大部分内容,顺着这条链路可以继续梳理很多东西。 > > 知其然、知其所以然。而阅读源码就是最好的知其所以然的方式。这一次找了一些空闲时间,捋了一下它的滑动窗口算法,在这里做一个记录。后面会继续去梳理它的令牌算法和漏桶算法。 *** 关于滑动窗口的原理,Sentinel为什么要使用滑动窗口,Sentinel是怎样使用的滑动,直接使用下面这两张图。一图胜千言,一张好的图足以说明问题,在这里我引用两张图。 ![Sentinel滑动窗口原理](https://user-images.githubusercontent.com/9434884/51955215-0af7c500-247e-11e9-8895-9fc0e4c10c8c.png "图一、Sentinel滑动窗口原理") ![Sentinel窗口滑动](https://mmbiz.qpic.cn/mmbiz_png/GtXvavW2Ulwl9FLE9hlx6lyyO7SqramYGZOcxJy9Jw75zpOTLJoZUY9g6JTA7MFWt8BgLkfSwvicjqCzCgjNB0Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 "图二、Sentinel滑动窗口") *** 首先从StatisticSlot类开始,它是Sentinel统计的核心功能槽,先看它的entry[^对这个方法做了一下精简,只保留了几行能够说明问题的代码。]方法: ~~~java @SpiOrder(-7000) public class StatisticSlot extends AbstractLinkedProcessorSlot

加载全部内容

相关教程
猜你喜欢
用户评论