gateway與zuul區別

內部實現不同、支持異步不同、框架設計的角度不同、性能不同 。1、內部實現不同:gateway對比zuul多依賴了spring-webflux,在spring的支持下,功能更強大,內部實現了限流、負載均衡等,但同時也限制了僅適合于Spring Cloud套件zuul則可以擴展至其他微服務框架中 。

gateway與zuul區別

文章插圖
內部實現不同、支持異步不同、框架設計的角度不同、性能不同 。
內部實現不同:gateway對比zuul多依賴了spring-webflux,在spring的支持下,功能更強大,內部實現了限流、負載均衡等 , 擴展性也更強 , 但同時也限制了僅適合于Spring Cloud套件zuul則可以擴展至其他微服務框架中 。
是否支持異步:zuul僅支持同步gateway支持異步 。理論上gateway則更適合于提高系統吞吐量(但不一定能有更好的性能) , 最終性能還需要通過嚴密的壓測來決定 。
框架設計的角度:gateway具有更好的擴展性,并且其已經發布了2.0.0的RELESE版本,穩定性也是非常好的 。
【gateway與zuul區別】性能:WebFlux模塊的名稱是spring-webflux , 名稱中的Flux來源于Reactor中的類 Flux 。Spring webflux 有一個全新的非堵塞的函數式Reactive Web框架,可以用來構建異步的、非堵塞的、事件驅動的服務,在伸縮性方面表現非常好 。使用非阻塞API 。Websockets得到支持,并且由于它與Spring緊密集成,所以將會是一個更好的 開發 體驗 。Zuul1.x,是一個基于阻塞io的API Gateway 。Zuul已經發布了Zuul 2.x,基于Netty , 也是非阻塞的,支持長連接 , 但Spring Cloud暫時還沒有整合計劃 。