在微服务架构中,Gateway 网关层是整个系统的统一入口,在这一层实现全局限流可以有效地保护后端微服务免受突发大流量的击垮。 在 Spring Cloud Gateway 中,实现分布式全局限流最主流、最成熟的方案是使用 Redis + Lua 脚本(基于令牌桶算法)。此外,也可以引入 Alibaba Sentinel 来实现。 以下是实现全局限流的完整方案和步骤: --- 方案一:基于 Spring Cloud Gateway 原生 + Redis(推荐) Spring Cloud Gateway 官方内置了 过滤器,底层默认使用 Redis 和 Lua 脚本来实现分布式的令牌桶限流。 1. 引入依赖 因为 Gateway 是基于 WebFlux 的,所以需要引入响应式的 Redis 依赖: 2. 编写 KeyResolver(限流维度) 网关需要知道按照什么规则进行限流(按 IP、按用户 ID、按接口路径,还是全局统一限流)。我们需要注入一个 Bean。 3. 配置 application.yml 配置 Redis 连接,并将 添加到全局过滤器()中,这样它就会对所有路由生...