【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 文件中进行定制。
相关推荐
q***33375 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
q***42825 小时前
SpringBoot Maven快速上手
spring boot·后端·maven
P***84396 小时前
解决Spring Boot中Druid连接池“discard long time none received connection“警告
spring boot·后端·oracle
倚肆6 小时前
Spring Boot CORS 配置详解:CorsConfigurationSource 全面指南
java·spring boot·后端
v***44676 小时前
springboot之集成Elasticsearch
spring boot·后端·elasticsearch
q***72196 小时前
Spring Boot(快速上手)
java·spring boot·后端
Swift社区6 小时前
StackOverflowError 栈溢出的原因与实战解决方案
java·spring boot·spring
p***97616 小时前
SpringBoot(7)-Swagger
java·spring boot·后端
j***29487 小时前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
张较瘦_7 小时前
Springboot | Spring Boot 3 纯 JDBC 实现宠物管理系统增删改查(无 ORM 框架)
spring boot·后端·数据库开发