【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 文件中进行定制。
相关推荐
dkbnull13 小时前
深入理解Spring两大特性:IoC和AOP
spring boot
洋洋技术笔记17 小时前
Spring Boot条件注解详解
java·spring boot
洋洋技术笔记2 天前
Spring Boot配置管理最佳实践
spring boot
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
大道至简Edward3 天前
Spring Boot 2.7 + JDK 8 升级到 Spring Boot 3.x + JDK 17 完整指南
spring boot·后端
洋洋技术笔记3 天前
Spring Boot启动流程解析
spring boot·后端
怒放吧德德3 天前
Spring Boot 实战:RSA+AES 接口全链路加解密(防篡改 / 防重放)
java·spring boot·后端
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
QQ5110082853 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe3 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5