gateway与zuul区别,zuul和gateway的区别?

gateway与zuul区别

gateway与zuul区别,zuul和gateway的区别?


内部实现不同、支持异步不同、框架设计的角度不同、性能不同 。
内部实现不同: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紧密集成,所以将会是一个更好的 开发 体验 。Zuul1.x,是一个基于阻塞io的API Gateway 。Zuul已经发布了Zuul 2.x,基于Netty,也是非阻塞的,支持长连接,但Spring Cloud暂时还没有整合计划 。
zuul和gateway的区别?gateway与zuul区别:
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
【gateway与zuul区别,zuul和gateway的区别?】提供了异步支持,提供了抽象负载均衡,提供了抽象流控,并默认实现了RedisRateLimiter 。

    推荐阅读