網關Gateway和Zuul的區別

  • 一方面因爲Zuul1.0已經進入了維護階段, 而且Gateway是SpringCloud團隊研發的,是親兒子產品,值得信賴。而且很多功能Zuul都沒有用起來也非常的簡單便捷。

  • Gateway是基於異步非阻塞模型上進行開發的,性能方面不需要擔心。雖然Netlix早就發佈了最新的Zuul 2.x,但Spring Cloud貌似沒有整合計劃。而且Netflix相關組件都布進入維護期;不知前景如何?

  • Zuul 1.x基於Servlet 2. 5使用阻塞架構它不支持任何長連接(如WebSocket) Zuul的設計模式和Nginx較像,每次I0操作都是從工作線程中選擇一個執行, 請求線程被阻塞到工作線程完成,但是差別是Nginx用C++實現,Zuul 用Java實現,而JVM本身會有第一次加載較慢的情況,使得Zuul 的性能相對較差。

  • Zuul 2.x理念更先進,想基於Netty非阻塞和支持長連接,但SpringCloud目前還沒有整合。Zuul 2.x的性能較Zuul 1.x有較大提升。在性能方面,根據官方提供的基準測試, Spring Cloud Gateway的RPS (每秒請求數)是Zuul的1.6倍。

  • Spring Cloud Gateway建立在Spring Framework

  • Project Reactor和Spring Boot2之上,使用非阻塞API。

  • Spring Cloud Gateway還支持WebSocket,並且 與Spring緊密集成擁有更好的開發體驗

  • 多方面綜合考慮Gateway是很理想的網關選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章