Spring Cloud Gateway和Zuul有哪些不同之处?

110

我一直使用Zuul作为边缘服务和API网关,最近我注意到Spring Cloud平台发布了Spring Cloud Gateway。这两个网关有什么区别?为什么不扩展Zuul以支持S-C-Gateway中的功能?新库的推动因素是什么?何时应该使用它?


你能分享一下你所参考的Spring [Boot] 版本吗? - avi.elkharrat
2个回答

231

我是Spring Cloud Gateway的作者。 Zuul是基于Servlet 2.5构建的(可与3.x一起使用),使用阻塞API。它不支持任何长期存在的连接,如WebSockets。

Gateway是基于Spring Framework 5、Project Reactor和Spring Boot 2构建的,使用非阻塞API。支持WebSockets,并且由于与Spring紧密集成,因此开发人员体验更好。


35
2016年九月/十月,Netflix发布了Zuul 2。它是一种非阻塞和异步的解决方案。Zuul 2与Zuul 1的主要架构差异在于它在使用Netty作为异步和非阻塞框架的基础上运行。 - alltej
5
他们尚未发布Zuul 2,他们只是宣布了它。当前的开发正在2.1分支上进行。 - spencergibb
5
@spencergibb,在这篇文章中提到的Spring Cloud Gateway的性能问题已解决吗?在8核16GB机器上,229ms(scg)与29ms(Zuul1)相比并不是很有用。 - Ruslan Stelmachenko
22
Zuul 2.1.1已于2018年4月13日发布。它是异步和非阻塞的。 - bedrin
8
云网关与Netflix Zuul 2之间的性能有什么区别吗? - Kevin
显示剩余4条评论

-1

--- 这是关于 Spring 5 的笔记 ---

Spring Cloud Gateway 是 Zuul 的替代品,具有以下优点:

  • Spring Cloud Gateway 是 Spring Cloud 团队首选的 API 网关实现。它基于 Spring 5、Reactor 和 Spring Web Flux 构建。不仅如此,它还包括断路器和 Eureka 服务发现。
  • Spring Cloud Gateway 具有非阻塞特性。虽然 Zuul 2 后期也支持了这一点,但 Spring Cloud Gateway 在这方面仍具有优势。
  • 与 Zuul 相比,Spring Cloud Gateway 具有更高的性能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接