RuoYiplus:关于服务网关Zuul和Gateway的区别和联系

原创
2020/03/11 10:45
阅读数 3.3K

RuoYiplus 3.0已经升级,v3.0版本中选择了Gateway作为服务网关。选择之前作者也在常用的网关服务Zuul和Gateway之间做徘徊,经过翻阅和搜集一些资料,最终选择了Gateway,那么让我们看看两者之间的区别和联系吧。

本文中的zuul,指的是zuul1.x,springcloud暂没有整合zuul2.x的计划,gateway是springcloud重点扶持的子项目,固仅在zuul1.x和gateway做比较。

Spring Cloud Gateway

  1.  基本介绍:Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
  2. 性能介绍:WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。Spring webflux 有一个全新的非堵塞的函数式 Reactive Web 框架,可以用来构建异步的、非堵塞的、事件驱动的服务,在伸缩性方面表现非常好。使用非阻塞API。 Websockets得到支持,并且由于它与Spring紧密集成,所以将会是一个更好的 开发 体验。     
  3. 源码维护组织:spring-cloud-Gateway是spring旗下spring-cloud的一个子项目。还有一种说法是因为zuul2连续跳票和zuul1的性能表现不是很理想,所以催生了spring孵化Gateway项目。    

Zull

  1. 基本介绍:Zuul1是基于 Servlet 2.5,兼容 3.x开发的网关,本质上也是一个web servlet应用。 Zuul提供了动态路由、监控、弹性负载和安全功能
  2. 性能介绍:Zuul1采用的是阻塞和多线程方式,即一个线程处理一次连接请求,这种方式在内部延迟严重、设备故障较多情况下会引起存活的连接增多和线程增加的情况发生。Zuul已经发布了Zuul 2.x,基于Netty,也是非阻塞的,支持长连接,但Spring Cloud暂时还没有整合计划。
  3. 源码维护组织:zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。关键目前spring不打算集成zuul2.x。

RuoYiPlus开源

本项目由 SMP 多商户权限管理系统 + API 接口服务组成,是在开源项目 RuoYi4.0(若依) 的基础上升级调整的微服务体系,项目基于 SpringBoot2.x,springcloudG 版本 eureka、hystrix、feign、config、gateway 微服务架构,集成 redis、tk.mybatis、lombok、各种设计模式等,是可选性后台管理系统或后端

接口服务。

源码地址

加入社区

输入图片说明 ​​​​​​​

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部