文章目录

  • 导言
  • Nginx 和 网关 的区别
    • 相同点:
    • 不同点:
  • Zuul 与 Gateway
    • Zuul:
    • Gateway:
    • 相同点
    • 不同点
    • 总结

导言

首先Zuul、Gateway是一类,都是web servlet网关,处理的是http请求

而Nginx属于服务器web网关,处理的也是http请求

Nginx 和 网关 的区别

下面的网关都用Zuul替代,Nginx与Gateway也是大同小异

相同点:

  1. 可以实现负载均衡 (Zuul使用的是Ribbon实现负载均衡)

  2. 可以实现反向代理 (即隐藏真实ip地址)

  3. 可以过滤请求,实现网关的效果

不同点:

  1. 首先 , Nginx是C语言开发,而 Zuul 是Java语言开发

  2. 其次,Nginx负载均衡实现,采用服务器实现负载均衡,而Zuul负载均衡的实现是采用 Ribbon + Eureka 来实现本地负载均衡.

  3. Nginx适合于服务器端负载均衡,Zuul适合微服务中实现网关

  4. Nginx相比Zuul功能会更加强大,因为Nginx整合一些脚本语言( Nginx + lua )

  5. Nginx 是一个高性能的HTTP 和反向代理服务器, 也是一个 IMAP / POP3 /SMIP 服务器.
    Zuul是 Spring Cloud Netflix 中的开源的一个API Gateway 服务器,本质上是一个web servlet 应用, 提供动态路由,监控,弹性,安全等边缘服务的框架. Zuul 相当于是设备和Netflix 流应用的 Web 网站后端所有请求的前门

Zuul 与 Gateway

Zuul:

使用的是阻塞式的 API,不支持长连接,比如 websockets。
底层是servlet,Zuul处理的是http请求
没有提供异步支持,流控等均由hystrix支持。
依赖包spring-cloud-starter-netflix-zuul。

Gateway:

Spring Boot和Spring Webflux提供的Netty底层环境,不能和传统的Servlet容器一起使用,也不能打包成一个WAR包。
依赖spring-boot-starter-webflux和/ spring-cloud-starter-gateway
提供了异步支持,提供了抽象负载均衡,提供了抽象流控,并默认实现了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、性能

gateway中的 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 Cloud生态的基础组件,则Spring Cloud Gateway相比而言更加具备优势,单从流式编程+支持异步上就足以让开发者选择它了。

对于小型微服务架构或是复杂架构(不仅包括微服务应用还有其他非Spring Cloud服务节点),zuul也是一个不错的选择。

Zuul、Gateway与Nginx的区别相关推荐

  1. uWSGI 和 nginx 的区别?

    uWSGI 和 nginx 的区别? (1 )uWSGI 是一个 Web 服务器,它实现了 WSGI 协议.uwsgi.http 等协议.Nginx 中HttpUwsgiModule 的作用是与 uW ...

  2. Java开源项目:saas小程序商城(SpringCloud + Oauth2.0 + ShiroRedis + JWT + Gateway + Nacos + Nginx+Vue+Mysql)

    项目采用**SpringCloud **主流开源框架,,设计轻巧,使用简单,开发人员接手与二次开发简单易懂: 项目完成了对阿里云.腾讯云.微信生态的快速接入与代码示例,并成功运用到了商业中,方便大家学 ...

  3. F5与Nginx的区别

    Linux的注意: F5与Nginx的区别 什么是Nginx: Nginx:高性能的 HTTP和反向代理服务器,同时支持作为IMAP/POP3/SMTP代理服务器.目前被很多网站应用为其HTTP软负载 ...

  4. 502 Bad Gateway:nginx错误解决

      今天系统测试环境突然审批任务无法打开,直接报502 Bad Gateway:nginx,初步判断nginx出现了问题.然后登录系统中间件服务器,查看nginx,并没有挂掉.   看了看请求的url ...

  5. uwsgi模式_nginx+uwsgi 和nginx+gunicorn区别、如何部署

    [线上环境部署Django,nginx+uwsgi 和nginx+gunicorn,这两种方案,应该如何选择?] 大家是采用的何种部署方式? 第一种,高并发稳定一点 我们公司使用的是nginx+gun ...

  6. 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway(亲测)

    Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway ...

  7. 解决 502、504 Gateway Time-out(nginx)

    504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在升级discuz论坛的时候遇到的 一般看来, 这种情况可能是由于nginx默认 ...

  8. Apache和Nginx的区别

    Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apa ...

  9. OpenFeign, Zuul, Gateway相互不兼容的问题总结

    背景 项目中要把spring-boot 2.3.2版本升级到spring boot 2.6.2版本. 如果要升级spring boot 到2.6.2. 就必须要把spring cloud升级到2021 ...

最新文章

  1. 32位处理器是什么意思
  2. Entity Framework技术系列之1:数据访问技术概述
  3. 使用jquery获取url以及jquery获取url参数的方法
  4. Stanford UFLDL教程 深度网络概览
  5. 重磅!一文解读神策智能推荐
  6. PCIe学习笔记(15)--- TLP的ROUTING方式
  7. Oracle事务处理
  8. UWP平台Taglib编译(1)
  9. 牛客网 [编程题]数字和为sum的方法数
  10. day22:更换yum源及源码包安装
  11. Windows下安装Elasticsearch
  12. java多线程总结二(转)
  13. shell fork 阻塞进程_张三同学没答好「进程间通信」,被面试官挂了....
  14. win10的js文件-bat脚本-开启移动热点
  15. QT课程设计:C++英语单词记忆软件程序开发
  16. 2021年全球陶瓷基板收入大约409.7百万美元,预计2028年达到657.3百万美元
  17. python 语料_用python从语料库中提取最常用的词
  18. NOIP 2006 金明的预算方案 (裸?)分组背包
  19. /id_xndu5otm2mdq0.html,index.html
  20. android 电池运行时间计算,android 电池充电时间计算方法

热门文章

  1. Verge3D 2.12 for Blender发布
  2. 你不知道的nodejs性能优化
  3. uoj#311 【UNR #2】积劳成疾
  4. nexus 4 android 5.0,真是亲儿子 Nexus 4可升安卓5.1
  5. PG内核分析 Question and Answer
  6. 华为机试真题 Java 实现【不含 101 的数】【2022.11 Q4新题】
  7. 2022年11月多家权威机构____编程语言排行榜__薪酬状况
  8. 服务器中搭建OA系统,云服务器搭建oa系统
  9. mactxt文件如何转换成html,最佳的用于Mac上的PDF文件转换到HTML文件的转换器
  10. kaldi跑自己数据遇到的问题合集(持续更)