【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 文件中进行定制。
相关推荐
李少兄几秒前
解决Spring Boot整合Redis时的连接问题
spring boot·redis·后端
冰逸.itbignyi39 分钟前
SpringBoot之AOP 的使用
java·spring boot
码上一元5 小时前
SpringBoot自动装配原理解析
java·spring boot·后端
计算机-秋大田5 小时前
基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解
java·spring boot·微信小程序·小程序·vue
魔道不误砍柴功7 小时前
简单叙述 Spring Boot 启动过程
java·数据库·spring boot
枫叶_v7 小时前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
路在脚下@7 小时前
Springboot 的Servlet Web 应用、响应式 Web 应用(Reactive)以及非 Web 应用(None)的特点和适用场景
java·spring boot·servlet
尘浮生8 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
2401_857610039 小时前
Spring Boot框架:电商系统的技术优势
java·spring boot·后端
java—大象10 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计