当时间走到第二个段里,即10s~20s这段范围里,我请求数不能超过总的限定条件,且当前段的请求数量 加上 之前段的总数量也不能超过总限定数量!
当时间到了50s~60s,依然是一样!...伪代码:
class SlidingWindow
{
protected $timeStamp;
//限定时间内请求的最多次数
protected $limitCount =...其实是这样的!先以一个恒定的速率生成令牌,把令牌放到桶里!然后每进来一个请求,每个请求去桶里找,有没有令牌,如果有令牌,则”拿着”令牌,继续下一步处理!...如果桶里没有令牌了,则这个处理可以”抛弃掉”
令牌桶的好处就是,可以允许匀速,也允许范围内的突发处理!
类似于 我桶容量是100! 这时候1s一个请求,令牌速度也是1s一个!...// 令牌放入的速度
public $tokens;// 当前令牌的数量
public function __construct()
{
$this->timeStamp