在现代 Web 开发(特别是基于 Spring Boot 的 HTTP 接口服务)中,常见的部署模式或运行方式可以从以下几个角度进行归纳和区分:
spring-boot-starter-web
,默认内置 Tomcat 作为容器,也可切换到 Jetty/Undertow;DeferredResult
、AsyncContext
、WebAsyncTask
等),但其本质仍是 Servlet 异步,与 Reactive Streams 不同;java -jar myapp.jar
,使用 Spring Boot 内置容器(Tomcat/Jetty/Undertow);war
部署到外部容器(Tomcat/Jetty/…)上。传统企业可能习惯这种方式;spring-boot-starter-webflux
;.doOnCancel()
);注意: Tomcat/Jetty/Undertow 在 Servlet 模式下是同步阻塞 IO;在 WebFlux Reactive 模式下(Netty/Undertow/Jetty Reactive 版本)是非阻塞 IO,二者有着本质区别。
jar
文件中已经内置了 Tomcat/Jetty/Netty 等服务器;java -jar app.jar
即可,对运维而言比较方便;spring-boot-starter-web
+ Embedded Tomcat 或 spring-boot-starter-webflux
+ Embedded Netty。war
或者独立可执行文件,但不包含容器;docker run
启动容器,对外暴露端口;在 网页服务开发(HTTP 接口服务) 中,常见的关键维度有:
spring-boot-starter-web
(Tomcat/Jetty/Undertow),后者使用 spring-boot-starter-webflux
(Netty/Undertow Reactive/Jetty Reactive)。本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。