Rate limiting v1¶
概述¶
用户可以通过配置限流策略限制provider端的请求频率,使每秒请求数限制在最大请求量的大小。配置可限制接收处理请求的频率
配置¶
限流配置在rate_limiting.yaml中,同时需要在chassis.yaml的handler chain中添加handler。
cse.flowcontrol.Provider.qps.enabled
(optional, bool) 是否开启限流,默认true
cse.flowcontrol.Provider.qps.global.limit
(optional, int) 每秒允许的请求数,默认2147483647max int)
引入middleware
import _ github.com/go-chassis/go-chassis/v2/middleware/ratelimiter
Provider示例¶
provider端需要在chassis.yaml添加ratelimiter-provider。同时在rate_limiting.yaml中配置具体的请求数。
servicecomb:
handler:
chain:
Provider:
default: ratelimiter-provider
cse:
flowcontrol:
Provider:
qps:
enabled: true # enable rate limiting or not
global:
limit: 100