网关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是很理想的网关选择。

你可能感兴趣的:(微服务)