GateWay概述
Spring Cloud Gateway是Spring官方基于Spring5.0、SpringBoot2.0和Project Reactor等技术开发的网关。Spring Cloud Gateway旨在为微服务架构提供简单、有效且统一的API路由管理方式。
Zuul1.x基于Servlet实现,采用HttpClient进行请求转发,使用阻塞模式,不支持长连接。Spring Cloud只是将Zuul作为一个组件进行引入使用,并非Spring Cloud子项目。由于Zuul2.x(非阻塞模式)不断的跳票,Spring Cloud推出了全新的服务网关Gateway取代Zuul。
核心组件
路由(Route):路由是服务网关基本组件,由服务实例ID、目标URI、断言集合和过滤器集合共同组成,断言判定为true,匹配服务路由并进行路由转发。
断言(predicate):判定当前请求是否和路由规则匹配,匹配成功(true)执行具体的路由操作,匹配失败返回错误信息。每个断言的入参是Spring框架的ServerWebExchange对象(原理分析章节详细描述)。
过滤器(Filter):使用特定工厂构造的SpringFrameworkGatewayFilter实例ÿ