【Spring Boot】简单了解spring boot支持的三种服务器

  1. Tomcat
    • 概述:Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta EE 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。它作为 Java Servlet、JSP、JavaServer Pages Expression Language 以及 Java WebSocket 技术的容器。
    • 特性:Tomcat 默认作为 Spring Boot 的嵌入式服务器使用,广泛应用于 Java EE 应用。它提供了 BIO、NIO 和 APR 三种运行模式,其中 NIO 和 APR 模式常用于处理高并发场景。
    • 性能:在某些压测中,Tomcat 的性能可能略低于 Jetty 和 Undertow,但因其广泛的社区支持和稳定性,它仍然是许多项目的首选。
    • 配置:Spring Boot 提供了对 Tomcat 的良好支持,并且可以通过配置文件轻松定制。例如,Tomcat 的默认最大连接数为 8192,默认等待数为 100。
  2. Jetty
    • 概述:Jetty 是一个开源的 Servlet 容器,它为基于 Java 的 web 内容(如 JSP 和 Servlet)提供运行环境。Jetty 是使用 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。
    • 特性:Jetty 具有轻量级和高性能的特点,常被用于构建高并发的 Web 应用程序。它支持异步 Servlet 和 WebSocket,并且可以与 Spring Boot 无缝集成。
    • 性能:在某些压测中,Jetty 的性能表现优于 Tomcat,但略逊于 Undertow。
    • 配置 :使用 Jetty 作为嵌入式服务器时,需要在 pom.xml 文件中引入相应的依赖并排除 Tomcat 依赖。配置参数如 max-threadsmin-threadsidle-timeout 可以在 application.propertiesapplication.yml 文件中进行定制。
  3. Undertow
    • 概述:Undertow 是一个采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非阻塞机制。它是 JBoss 的一部分,并且是 WildFly 默认的 Web 服务器。
    • 特性:Undertow 具有高性能和低资源消耗的特点,特别适合构建高性能的 Web 应用程序。它提供了一个基础的架构用来构建 Web 服务器,并且完全兼容 Java EE Servlet 3.1。
    • 性能:在压测中,Undertow 通常表现出比 Tomcat 和 Jetty 更高的性能。
    • 配置 :使用 Undertow 作为嵌入式服务器时,需要在 pom.xml 文件中引入相应的依赖并排除 Tomcat 依赖。配置参数如 io-threadsworker-threadsbuffer-size 可以在 application.propertiesapplication.yml 文件中进行定制。
相关推荐
鱟鲥鳚5 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
腾渊信息科技公司7 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
隔窗听雨眠11 小时前
Spring Boot在云原生时代的编程范式革新研究
spring boot·后端·云原生
其美杰布-富贵-李13 小时前
Spring Boot 工程开发全流程说明
java·spring boot·后端
dear_bi_MyOnly15 小时前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法
其美杰布-富贵-李16 小时前
Spring Boot 依赖注入说明文档
java·spring boot·python
流烟默17 小时前
SpringBoot应用链路追踪 traceId 技术方案
spring boot·skywalking·traceid
耀耀_很无聊18 小时前
13_Spring Boot 3.5.8 + Redisson 3.45.1 导致 Sa-Token 登录 StackOverflowError
spring boot·后端·bootstrap
霸道流氓气质18 小时前
SpringBoot中集成阿里云消息队列 ApsaraMQ for RabbitMQ 全面指南
spring boot·阿里云·java-rabbitmq
霸道流氓气质19 小时前
SpringBoot中实现告警判定算法-位报警与模拟量阈值-技术详解
spring boot·算法·jquery