Spring cloud gateway
网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上。
早期的cloud中使用的是基于Zuul的网关,但是由于Zuul1.x是阻塞的,后面cloud团队开发了基于Netty的新的网关也就是gateway。其实在2.x的版本中,Zuul也是基于Netty,也是非阻塞的。
Gateway是基于WebFlux的。WebFlux 是 Spring 5.0 引入的新的响应式框架,区别于 SpringMVC,它不需要依赖 Servlet API。
Spring WebFlux
在 Servlet 3.1 之后有了异步非阻塞的支持。而 WebFlux 是一个典型非阻塞异步的框架,它的核心是基于 Reactor 的相关 API 实现的。WebFlux 框架底层使用了高性能的 Reactor 模式通信框架 Netty,不依赖于servlet容器。**传统的框架如Struts 2,SpringMVC 等都是基于 Servlet API 与 Servlet 容器基础上运行的,需运行在要tomcat等容器中。**
Spring Cloud Gateway基于Spring WebFlux 。默认基于Netty启动即可,不需要servlet容器,如果要使其运行在tomcat等支持servlet3.1的容器就要先排除netty再引入tomcat依赖。
<dependency>
<groupId>org.springframework.boot<
还没有评论,来说两句吧...