
嘉宾 | 高家祺 整理 | 黄文勤
出品 | CSDN云原生
时下,网关作为微服务架构的组成部分,发挥着举足轻重的作用。Spring Cloud Gateway是Spring官方基于Spring5.0、SpringBoot2.0、Netty和Project Reactor等技术开发的网关,旨在为微服务框架提供一种简单而有效的统一的API路由管理方式,统一访问接口。
2022年7月26日,在CSDN云原生系列在线峰会第14期“Spring Cloud峰会”上,谐云产品总监高家祺分享了《企业级Spring Cloud Gateway网关优化实践》。

Spring Cloud Gateway和其他网关对比,展现出五个核心特点:
采用非阻塞IO网络框架支撑;
与Spring Cloud生态组件无缝集成,符合大部分业务系统的集成需求,成本低;
基于WebFlux响应式Web模型,事件驱动与非阻塞IO结合,满血使用CPU性能,性能吞吐量更优秀;
只需掌握Route原理,会编写Filter即可上手网关开发;
基于Spring Boot Actuator提供完整开箱即用的生产级监控。
由此可见,Spring Cloud Gateway是一款定位面向业务友好的网关。

Spring Cloud Gateway主要由三部分组成:
Route(路由):即一套路由规则,是集URI、Predicate、Filter等属性为一体的元数据类;
Predicate(断言):可以参考Java8函数断言,看作是满足什么条件时,Route规则生效,它允许开发者去定义匹配来自于Http Request中的任何信息,如请求头或者请求参数;
Filter(过滤器):Filter针对请求和响应进行增强、修改处理。Filter可以认为是Spring Cloud Gateway最核心的模块,熔断、安全、逻辑执行、网络调用都是Filter来完成的,其中又细分为Gateway Filter和Global Filter。
Spring Cloud Gateway的核心原理,可以从宏