我在M2公司做架构之限流

一、什么是限流?

限流可以认为服务降级的一种,限流就是限制系统的输入和输出流量已达到保护系统的目的。一般来说系统的吞吐量是可以被测算的,为了保证系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。

二、限流的方案有哪些?

  • SpringCloud Gateway+Sentinel方案;
  • Nginx+Lua。

关于Nginx+Lua的限流方案,可以参考如下文章:
Nginx结合Lua实现限流
nginx + lua + redis 防刷和限流
Nginx 中的两种限流方式
Nginx限流的三种方式

关于SpringCloud + Sentinel方案,我实际中落地过,目前也正在生产环境持续稳定的运行,可参考我写的文章:
SpringCloud之Sentinel

关于Sentinel如何具体操作,可参考这篇文章:
超详细的Sentinel入门

文章目录
  1. 一、什么是限流?
  2. 二、限流的方案有哪些?