应用场景:
在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章讲解hyperf中限流的使用。安装
composer require hyperf/rate-limit
限流算法
限流比较常用的算法有计数器算法、令牌桶算法、漏斗算法,感兴趣的同学可以了解一下。
hyperf/rate-limit使用的是令牌桶算法。
主要参数
配置 | 默认值 | 备注 |
---|---|---|
create | 1 | |
consume | 1 | 每次请求消耗令牌数 |
capacity | 2 | 令牌桶最大容量 |
limitCallback | NULL | 触发限流时回调方法 |
key | NULL | 生成令牌桶的 |
waitTimeout | 3 | 排队超时时间 |