阅读目录
正文
一、引子
2年前有幸使用过一次Spring Cloud (1.5.9),1.* 集成的是ZUUL做网关。终于在2年后,这次果断使用Spring Cloud Gateway。
区别:
Zuul构建于 Servlet 2.5,兼容 3.x,使用的是阻塞式的 API,不支持长连接,比如 websockets。
Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。支持 websockets,和Spring 框架紧密集成。底层使用netty模型,性能极高。
备注:
spring cloud 已放弃zuul 2.0,使用了自己的亲儿子gateway.后续估计也不会再集成2.0了,建议从zuul转向gateway.
一个简单的创业项目架构图如下:
二、Gateway设计思想
2.1 官网设计
自从撇开netflex zuul后,spring Cloud速度搜搜的。我开发时还是用2.1.4,目前最新已经到2.2.1,附上官网飞机票
2.1.1 特性
-
Built on Spring Framework 5, Project Reactor and Spring Boot 2.0:基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0
-
Able to match routes on any request attribute.:能匹配任意请求属性的路由
-
Predicates and filters are specific to routes.:针对特定路由使用匹配策略和过滤器
-
Hystrix