10.3. 限流中间件
说明
对于 API 来讲,限流非常重要。
限流就是控制用户访问接口的频率,例如未授权的接口 Github API 每小时最多 60 个请求(根据 IP),而授权以后的接口限流可以到 1000 个请求。
限流不仅可以保护我们的服务器资源不被黑客滥用,在例如说登录接口或者发送验证码接口上,还可以做到防止黑客暴力破解的作用。
本节我们将一起来开发 Gohub 项目的限流中间件。
1. ulule/limiter
限流是很常用的功能,我们无需重新发明轮子,使用这个开源的限流器 github.com/ulule/limiter 即可。
首先安装:
$ go get github.com/ulule