https://juejin.cn/post/7219095104040075301
限定固定请求数量访问服务端,保护服务接口
欢迎关注个人公众号【好好学技术】交流学习
常见的限流方式有:nginx限流、guava限流、sentinel、Redis等实现方式。
他们的本质算法都是基于 漏桶、令牌桶、滑动窗口来实现的。
常见的经典限流有计时器限流、滑动窗口限流、漏桶限流、令牌桶限流四种。
](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fde67b2a3cfc4ac09e9ba19d2d33ffb7~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?))
计数器限流算法相对简单那,但是它的弊端还是很明显的,也就是临界点问题。假设1秒钟100的阈值,如果0-0.9秒都没有请求,最后0.9秒到1秒收到100个请求,下一秒1到1.1秒又收到100个请求,那么服务器所承受的压力就非常大了。(如果是0.99秒到1秒,0.999秒到1秒呢?tps暴增)
](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/93a2f1edb15f412cab3c79320b6383a3~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp?))