网关是大型架构核心,下面我详解网关如何抗住百万并发@mikechen
响应式非阻塞架构

这是 Gateway 能抗住百万并发的最根本原因。底层技术栈:基于 Spring WebFlux + Project Reactor + Netty
核心优势:非阻塞 I/O + 事件驱动模型传统 Servlet(如 Zuul 1.x)每个请求占用一个线程,高并发时线程池迅速耗尽。
Gateway 使用 Netty EventLoop(默认 worker 线程数 ≈ CPU 核数 × 2),少量线程即可处理海量连接。
Reactor 的 Mono/Flux 链式处理 + 背压机制,天然避免请求堆积。
分布式水平扩展

其次,分布式水平扩展保证了系统容量可线性增长。
SpringCloud Gateway以轻量网关实例为单位,结合容器化与编排平台(如Kubernetes)实现快速扩容与弹性伸缩。
借助统一的服务注册与配置中心,可以将路由与策略下发至大量实例。
从而通过横向扩展来分摊并发压力,达到百万级流量承载能力。
无状态网关

无状态网关设计,是实现可靠扩展与故障恢复的关键。
网关,应尽量避免将会话或业务状态保存在本地。
常用做法,包括:将鉴权信息放入JWT、或将会话状态外置到分布式缓存/会话存储。
无状态使得任实例均可处理任意请求,便于调度和滚动升级,同时降低单点故障影响面。
结合外部负载均衡器,比如:LVS、Nginx、云厂商LB、或DNS轮询进行流量分发。
同时需配合服务发现与自动伸缩策略,保障在流量突增时迅速扩容。
流量控制与降级熔断

最后,流量控制与降级熔断,确保在突发流量、或下游异常时系统能有序退化而非崩溃。
常见策略,包括:限流(令牌桶/漏桶)、并发隔离、慢启动、请求熔断与故障转移。
通过在网关层实施熔断与降级,可以在下游服务不可用、
或性能恶化时快速拒绝或降级部分请求,保护核心服务链路并维持整体系统可用性。
结合实时监控与告警,能够及时调整策略与扩容决策。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》