spring-boot-starter-webflux gateway
时间: 2023-10-09 12:06:02 浏览: 165
spring-boot-starter-webflux是一个用于构建异步的、非阻塞的、事件驱动的服务的模块。它是基于Spring 5和Spring Boot 2.x的响应式、非阻塞的API。与传统的Servlet API相比,它提供了更高的性能和吞吐量,并且支持websockets。
关于spring-boot-starter-webflux和网关的区别,Zuul是构建于Servlet 2.5的,兼容3.x,使用的是阻塞式的API,不支持长连接,例如websockets。而Gateway是构建于Spring 5,基于Spring Boot 2.x,是响应式的、非阻塞式的API,同时支持websockets,并且与Spring框架紧密集成。
解决启动时web依赖下tomcat容器启动失败的问题,有两种解决方式:
1. 排除内置容器的依赖:通过在pom.xml中配置排除spring-boot-starter-tomcat的依赖,来排除内置容器,例如:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- Maven整个生命周期内排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
```
2. 使用其他支持非阻塞的容器:替换内置的tomcat容器为其他非阻塞的容器,例如Jetty或Undertow。
阅读全文