1 个回答
主要使用ratelimiter中间件来实现API流量控制,示例如下:
1、创建limiter实例
1、创建limiter实例
#这里rate.Limit(qps)用来设置每秒允许的请求量,qps*3用来设置瞬间最大并发数。
limiter := rate.NewLimiter(rate.Limit(qps), qps*3)
2、在请求处理中使用limiter实例#通过limiter.Allow()判断当前请求是否允许访问,如果超过了请求数,则返回http.StatusTooManyRequests错误。
if!limiter.Allow() {
return http.StatusTooManyRequests, nil
}
发布于:11小时前 IP属地:
我来回答
您需要 登录 后回答此问题!