Spring Cloud Gateway VS Zuul 比較,怎么選擇?


Spring Cloud Gateway 是 Spring Cloud Finchley 版推出來的新組件,用來代替服務網關:Zuul。

那 Spring Cloud Gateway 和 Zuul 都有哪些區別呢,咱們來比較一下。

1、開源組織

Spring Cloud Gateway 是 Spring Cloud 微服務平台的一個子項目,屬於 Spring 開源社區,依賴名叫:spring-cloud-starter-gateway。

https://spring.io/projects/spring-cloud-gateway

Zuul 是 Netflix 公司的開源項目,Spring Cloud 在 Netflix 項目中也已經集成了 Zuul,依賴名叫:spring-cloud-starter-netflix-zuul。

https://github.com/Netflix/zuul

2、底層實現

https://stackoverflow.com/questions/47092048/how-is-spring-cloud-gateway-different-from-zuul

據 Spring Cloud Gateway 原作者的解釋:

Zuul構建於 Servlet 2.5,兼容 3.x,使用的是阻塞式的 API,不支持長連接,比如 websockets。另外

Spring Cloud Gateway構建於 Spring 5+,基於 Spring Boot 2.x 響應式的、非阻塞式的 API。同時,它支持 websockets,和 Spring 框架緊密集成,開發體驗相對來說十分不錯。

3、性能表現

這個沒什么好比的,要比就和 Zuul 2.x 比,Zuul 2.x 在底層上有了很大的改變,使用了異步無阻塞式的 API,性能改善明顯,不過現在 Spring Cloud 也沒集成 Zuul 2.x,所以就沒什么好比的。

如何選擇?

本文說的 Zuul 指 Zuul 1.x,Netflix 早就發布了最新的 Zuul 2.x,但 Spring Cloud 貌似沒有整合計划,棧長看了下目前最新的包,整合的還是 Zuul 1.x。

據了解,正是因為 Zuul 2.x 的不斷跳票,Spring Cloud 才釜底抽薪推出了自己的服務網關:Spring Cloud Gateway,棧長看了下,使用起來比 Zuul 更簡單,配置更方便,所以說選 Spring Cloud Gateway 沒錯,畢竟是 Spring Cloud 親兒子,不會始亂終棄。

關注Java技術棧微信公眾號,棧長將繼續分享 Spring Cloud Gateway 的實戰教程,公眾號第一時間推送,持續關注。在公眾號后台回復:cloud,獲取棧長整理的更多的 Spring Cloud 教程,都是實戰干貨,以下僅為部分預覽。

  • Spring Cloud 最新 Finchley 版本踩坑
  • Spring Cloud 多版本如何選擇
  • Spring Cloud 是什么,和 Dubbo 對比
  • Spring Cloud 注冊中心高可用搭建
  • Spring Cloud Eureka 自我保護機制
  • ……

本文原創首發於微信公眾號:Java技術棧(id:javastack),關注公眾號在后台回復 "cloud" 可獲取更多 Spring Cloud 教程,轉載請原樣保留本信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM