Gateway新一代网关
zuul路由网关
zuul核心人员走了两个,zuul2的研发过久,spring公司等不及,自己研发的Gateway网关。
简介
Cloud全家桶有个狠重要的组件就是网关,在1.x版本中都是采用Zuul网关;但是在2.x版本中,zuul的升级一致跳票,SpringCloud最后自己研发了一个网关替代Zuul, 那就是SpringCloud Gateway
![bd7320526d0031eee35cbc093de22684.png](https://i-blog.csdnimg.cn/blog_migrate/18eba4a98dca639e237d6c15a7a155d4.png)
Gateway是在Spring生态之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor 等技术。
Gateway旨在提供一种简单而有效 等方式来对API 进行路由,以及提供一些强大对过滤器,例如:熔断、限流、重试等
Gateway 作为SpringCloud 等目标提供统一等路由方式且基于Filter 链的方式提供了网关基本的功能,例如:安全,监控。限流
SpringCloud Gateway 使用的Webflux中的 reactor-netty 响应式的编程,底层使用了Netty通讯框架
-
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/
因为Zuul1.0 进入了维护阶段,而且Gateway 是SpringCloud 团队开发,比Zuul更加的便捷
Gateway 是基于异步非阻塞模型上进行开发的,性能方面不需要担心
![d1ff4469d1ac68b398f7d7f4031879de.png](https://i-blog.csdnimg.cn/blog_migrate/49bbcadd2cd0f3e60685e72f439a61cf.png)
SpringCloud Gateway 与 Zuul 的区别
![d9108c301874a4219913d66864f52698.png](https://i-blog.csdnimg.cn/blog_migrate/78cf6a06786cf9624a4cddc7fe2b0fa8.png)
三大核心概念
Route (路由)
- 路由是构建网关的基本模块,它由ID,目标URL,一系列的断言和过滤器组成,如果断言为true则匹配该路由
Predicate (断言)
- 参考的是Java8的java.util.function.predicate</