tanghc 6 years ago
parent 2f2b52a5dd
commit cefe093309
  1. 2
      README.md
  2. 12
      doc/docs/files/10092_接口限流.md
  3. 2
      sop-admin/sop-admin-front/pages/service/limitManager.js
  4. 2
      sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/limit/LimitType.java

@ -58,6 +58,8 @@ SOP封装了开放平台大部分功能包括:签名验证、统一异常处
![admin预览](https://images.gitee.com/uploads/images/2019/0401/202931_14cc7248_332975.png "admin7.png")
![admin预览](https://images.gitee.com/uploads/images/2019/0415/204659_f0dc8057_332975.png "admin8.png")
## 工程说明
> 运行环境:JDK8,Maven3,Zookeeper

@ -0,0 +1,12 @@
# 接口限流
SOP提供了简单的接口限流策略:
- 漏桶策略:每秒处理固定数量的请求,超出请求返回错误信息。
- 令牌桶策略:每秒放置固定数量的令牌数,每个请求进来后先去拿令牌,拿到了令牌才能继续,拿不到则等候令牌重新生成了再拿。
如果一个接口设置了漏桶策略,假设接口每秒可处理5个请求,一秒内同时有6个请求进来,前5个接口是能够访问的,第六个请求将返回错误信息。
如果设置了令牌桶策略,桶的容量是5,那么每秒中生成5个令牌,同一时间有6个请求进来,那么前5个能成功拿到令牌继续,第六个则等待,令牌重新生成了再拿。
默认情况下接口的限流功能是关闭的,可在sop admin中配置并开启。功能在`路由管理-->限流管理`下。

@ -197,7 +197,7 @@ lib.importJs('../../assets/js/routerole.js')
function showLimitTypeTip() {
var leakyRemark = '漏桶策略:每秒处理固定数量的请求,超出请求返回错误信息。';
var tokenRemark = '令牌桶策略:每秒放置固定数量的令牌数,不足的令牌数做等待处理,直到拿到令牌为止。';
var tokenRemark = '令牌桶策略:每秒放置固定数量的令牌数,每个请求进来后先去拿令牌,拿到了令牌才能继续,拿不到则等候令牌重新生成了再拿。';
var content = '<div style="font-size: 14px;">'
+ leakyRemark
+ '<br>'

@ -11,7 +11,7 @@ public enum LimitType {
*/
LEAKY_BUCKET(1),
/**
* 令牌桶策略每秒放置固定数量的令牌数不足的令牌数做等待处理直到拿到令牌为止
* 令牌桶策略每秒放置固定数量的令牌数每个请求进来后先去拿令牌拿到了令牌才能继续拿不到则等候令牌重新生成了再拿
*/
TOKEN_BUCKET(2);

Loading…
Cancel
Save