zuul和gateway
总体说明
- spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已。
- 因为zuul2.0连续跳票和zuul1的性能表现不是很理想,所以催生了spring团队开发了Gateway项目。
zuul
使用的是阻塞式的 API,不支持长连接,比如 websockets。
底层是servlet,Zuul处理的是http请求
没有提供异步支持,流控等均由hystrix支持。
依赖包spring-cloud-starter-netflix-zuul。
Gateway
底层依然是servlet,但使用了webflux,多嵌套了一层框架
依赖spring-boot-starter-webflux和/ spring-cloud-starter-gateway
提供了异步支持,提供了抽象负载均衡,提供了抽象流控,并默认实现了RedisRateLimiter。
相同点:
底层都是servlet
两者均是web网关,处理的是http请求
不同点:
- 内部实现:
gateway对比zuul多依赖了spring-webflux,在spring的支持下,功能更强大,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于Spring Cloud套件
zuul则可以扩展至其他微服务框架中,其内部没有实现限流、负载均衡等。 - 是否支持异步
zuul仅支持同步
gateway支持异步。理论上gateway则更适合于提高系统吞吐量(但不一定能有更好的性能),最终性能还需要通过严密的压测来决定 - 框架设计的角度
gateway具有更好的扩展性,并且其已经发布了2.0.0的RELESE版本,稳定性也是非常好的 - 性能
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相关推荐
- Zuul、Gateway与Nginx的区别
文章目录 导言 Nginx 和 网关 的区别 相同点: 不同点: Zuul 与 Gateway Zuul: Gateway: 相同点 不同点 总结 导言 首先Zuul.Gateway是一类,都是web ...
- Zuul和Gateway请求IO模型比对(WebFlux优势)以及Reactor模型分析
文章目录 背景 Zuul 请求处理模型 Gateway Doug Lea Reactor模型 总结 背景 最近在做一些开源网关的调研,首选也是主流的网关就是Zuul和Gateway.然后在性能上基于Z ...
- SpringCloud Greenwich(五)之nacos、dubbo、Zuul和 gateway集成
本项目是搭建基于nacos注册中心的springcloud,集成dubbo框架,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service 服务提供者 zuul- ...
- SpringCloud Greenwich(四)注册中心之eureka、Zuul和 gateway网关配置
本项目是搭建基于eureka注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 eureka-server eureka注册中心 micro-ser ...
- SpringCloud Greenwich(三)注册中心之zookeeper、Zuul和 gateway网关配置
本项目是搭建基于zookeeper注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service 服务提供者 zuul-gatewa ...
- SpringCloud Greenwich(二)注册中心之consul、Zuul和 gateway网关配置
本项目是搭建基于consul注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service 服务提供者 zuul-gateway ...
- SpringCloud Greenwich(一)注册中心之nacos、Zuul和 gateway网关配置
本项目是搭建基于nacos注册中心的springcloud,使用zuul网关和gateway网关. 一.框架搭建 (1)项目结构 micro-service 服务提供者 zuul-gateway ...
- 微服务网关Zuul和Gateway的区别
spring-cloud-Gateway是spring-cloud的一个子项目.而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已. 因为zuu ...
- SpringCloud - Spring Cloud 之 Zuul和Gateway网关(十四)
Spring Cloud Gateway是Spring Cloud的一个子项目.而zuul则是Netflix公司的项目,只是Spring 将zuul集成在Spring Cloud中使用而已. 因为zu ...
最新文章
- 在创建ArcGIS Server10.5的站点时,系统提示创建‘System/publishingToolsEX.GPServer’失败(转)...
- 使用七牛云和PicGo搭建图床
- OpenCV霍夫变换查找圆的实例(附完整代码)
- 【计算机图形学】实验:VB.net环境下的图形裁剪完整实验操作流程
- 推荐一个CSLab------英真时代(非广告,真心的)
- AutoCAD 2022 for Mac v2022.2.1中文版
- HDU 6122 今夕何夕 【数学公式】 (2017百度之星程序设计大赛 - 初赛(A))
- 读取QQ ClientKey C++版本
- matlab gui中断程序,MATLAB GUI的中斷程序
- c语言程序编程实践总结,c语言编程实习心得
- 自用机器学习笔记(1):什么是概率以及似然
- 物联网发展跨越拐点!2020 AIoT产业年终盛典圆满落幕
- ssm搭建整合,这一篇你直接拷走就是一个搭好的框架,前后端可分离,可不分离
- android系统10.0模拟器,安卓9.0模拟器 V7.2.1 官方最新版
- 聚会邀请html源码,聚会邀请短信
- ios 自定义拍照页面_iOS开发笔记:自定义相机拍照
- 专题分纲目录 思维导图 XMind 闯关之路
- 2019蓝桥杯国赛总结
- windows技巧之添加右键菜单
- Java开发自学教程!kafka配置文件参数说明
热门文章
- LeetCode刷题日记 203. 移除链表元素
- 会话技术之Cookie详解
- 开源天使 ———— GitHub 赞助功能的缔造者: Devon Zuegel
- 虚拟机centos7的克隆
- 数字图像处理 matlab实现
- static的用法及其作用
- Multi-Level Knowledge Injecting for Visual Commonsense Reasoning
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )
- 如何优雅的用POI导入Excel文件
- Java中callback作为函数参数传递