总体说明

  1. spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。
  2. 因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目。

zuul

  1. 使用的是阻塞式的 API,不支持长连接,比如 websockets。

  2. 底层是servlet,Zuul处理的是http请求

  3. 没有提供异步支持,流控等均由hystrix支持。

  4. 依赖包spring-cloud-starter-netflix-zuul。

Gateway

  1. 底层依然是servlet,但使用了webflux,多嵌套了一层框架

  2. 依赖spring-boot-starter-webflux和/ spring-cloud-starter-gateway

  3. 提供了异步支持,提供了抽象负载均衡,提供了抽象流控,并默认实现了RedisRateLimiter。

相同点:

  1. 底层都是servlet

  2. 两者均是web网关,处理的是http请求

不同点:

  1. 内部实现:
       gateway对比zuul多依赖了spring-webflux,在spring的支持下,功能更强大,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于Spring Cloud套件
      zuul则可以扩展至其他微服务框架中,其内部没有实现限流、负载均衡等。
  2. 是否支持异步
      zuul仅支持同步
      gateway支持异步。理论上gateway则更适合于提高系统吞吐量(但不一定能有更好的性能),最终性能还需要通过严密的压测来决定
  3. 框架设计的角度
      gateway具有更好的扩展性,并且其已经发布了2.0.0的RELESE版本,稳定性也是非常好的
  4. 性能
      WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。Spring webflux 有一个全新的非堵塞的函数式 Reactive Web 框架,可以用来构建异步的、非堵塞的、事件驱动的服务,在伸缩性方面表现非常好。使用非阻塞API。 Websockets得到支持,并且由于它与Spring紧密集成,所以将会是一个更好的 开发 体验。
      Zuul 1.x,是一个基于阻塞io的API Gateway。Zuul已经发布了Zuul 2.x,基于Netty,也是非阻塞的,支持长连接,但Spring Cloud暂时还没有整合计划。

Spring WebFlux

Spring WebFlux是随Spring 5推出的响应式Web框架。

1、spring-webflux支持两种开发模式:

    1. 类似于Spring WebMVC的基于注解(@Controller、@RequestMapping)的开发模式;2. Java 8 lambda风格的函数式开发模式。

2、WebFlux是基于响应式流的,可以用来建立异步、非阻塞、事件驱动的服务。默认采用Reactor作为响应式流的实现库,也提供对RxJava的支持。

zuul和gateway相关推荐

  1. Zuul、Gateway与Nginx的区别

    文章目录 导言 Nginx 和 网关 的区别 相同点: 不同点: Zuul 与 Gateway Zuul: Gateway: 相同点 不同点 总结 导言 首先Zuul.Gateway是一类,都是web ...

  2. Zuul和Gateway请求IO模型比对(WebFlux优势)以及Reactor模型分析

    文章目录 背景 Zuul 请求处理模型 Gateway Doug Lea Reactor模型 总结 背景 最近在做一些开源网关的调研,首选也是主流的网关就是Zuul和Gateway.然后在性能上基于Z ...

  3. SpringCloud Greenwich(五)之nacos、dubbo、Zuul和 gateway集成

    本项目是搭建基于nacos注册中心的springcloud,集成dubbo框架,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service  服务提供者 zuul- ...

  4. SpringCloud Greenwich(四)注册中心之eureka、Zuul和 gateway网关配置

    本项目是搭建基于eureka注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 eureka-server  eureka注册中心 micro-ser ...

  5. SpringCloud Greenwich(三)注册中心之zookeeper、Zuul和 gateway网关配置

    本项目是搭建基于zookeeper注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service  服务提供者 zuul-gatewa ...

  6. SpringCloud Greenwich(二)注册中心之consul、Zuul和 gateway网关配置

    本项目是搭建基于consul注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service  服务提供者 zuul-gateway  ...

  7. SpringCloud Greenwich(一)注册中心之nacos、Zuul和 gateway网关配置

    本项目是搭建基于nacos注册中心的springcloud,使用zuul网关和gateway网关. 一.框架搭建 (1)项目结构 micro-service  服务提供者 zuul-gateway  ...

  8. 微服务网关Zuul和Gateway的区别

    spring-cloud-Gateway是spring-cloud的一个子项目.而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已. 因为zuu ...

  9. SpringCloud - Spring Cloud 之 Zuul和Gateway网关(十四)

    Spring Cloud Gateway是Spring Cloud的一个子项目.而zuul则是Netflix公司的项目,只是Spring 将zuul集成在Spring Cloud中使用而已. 因为zu ...

最新文章

  1. 在创建ArcGIS Server10.5的站点时,系统提示创建‘System/publishingToolsEX.GPServer’失败(转)...
  2. 使用七牛云和PicGo搭建图床
  3. OpenCV霍夫变换查找圆的实例(附完整代码)
  4. 【计算机图形学】实验:VB.net环境下的图形裁剪完整实验操作流程
  5. 推荐一个CSLab------英真时代(非广告,真心的)
  6. AutoCAD 2022 for Mac v2022.2.1中文版
  7. HDU 6122 今夕何夕 【数学公式】 (2017百度之星程序设计大赛 - 初赛(A))
  8. 读取QQ ClientKey C++版本
  9. matlab gui中断程序,MATLAB GUI的中斷程序
  10. c语言程序编程实践总结,c语言编程实习心得
  11. 自用机器学习笔记(1):什么是概率以及似然
  12. 物联网发展跨越拐点!2020 AIoT产业年终盛典圆满落幕
  13. ssm搭建整合,这一篇你直接拷走就是一个搭好的框架,前后端可分离,可不分离
  14. android系统10.0模拟器,安卓9.0模拟器 V7.2.1 官方最新版
  15. 聚会邀请html源码,聚会邀请短信
  16. ios 自定义拍照页面_iOS开发笔记:自定义相机拍照
  17. 专题分纲目录 思维导图 XMind 闯关之路
  18. 2019蓝桥杯国赛总结
  19. windows技巧之添加右键菜单
  20. Java开发自学教程!kafka配置文件参数说明

热门文章

  1. LeetCode刷题日记 203. 移除链表元素
  2. 会话技术之Cookie详解
  3. 开源天使 ———— GitHub 赞助功能的缔造者: Devon Zuegel
  4. 虚拟机centos7的克隆
  5. 数字图像处理 matlab实现
  6. static的用法及其作用
  7. Multi-Level Knowledge Injecting for Visual Commonsense Reasoning
  8. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )
  9. 如何优雅的用POI导入Excel文件
  10. Java中callback作为函数参数传递