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

devtools/2024/10/20 11:56:23/
  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 文件中进行定制。

http://www.ppmy.cn/devtools/57453.html

相关文章

昆虫学(书籍学习资料)

包括昆虫分类(上下册)、昆虫生态大图鉴等书籍资料。

C++将模板类用作参数

#include <iostream> // 包含头文件。 using namespace std; // 指定缺省的命名空间。template <class T, int len> class LinkList // 链表类模板。 { public:T* m_head; // 链表头结点。int m_len len; // 表长。void…

前端vue使用onlyoffice控件实现word在线编辑、预览(仅列出前端部分需要做的工作,不包含后端部分)

简介 ONLYOFFICE 文档 是一个开源办公套件&#xff0c;包括文本文档、电子表格、演示文稿和可填写表单的编辑器。 它提供以下功能&#xff1a; 创建、编辑和查看文本文档、电子表格、演示文稿和可填写表单&#xff1b; 与其他队友实时协作处理文件。 基于这个控件&#xff0c;…

振动分析-12-轴承数据库之深度学习一维故障分类CNN-Transformer

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型 1 制作数据集 import pandas as pd filename = "CWRU_1797.csv" df = pd.read_csv(filename)from sklearn.model_selection import train_test_split df_x=df.drop(labels=1024,axis=1)

嵌入式MCU平台汇总

文章目录 1. 单片机&#xff08;MCU&#xff09; 2. 数字信号处理器&#xff08;DSP&#xff09; 3. ARM Cortex 系列 4. 超低功耗MCU 5. 物联网MCU&#xff08;IoT MCU&#xff09; 6. 开源架构MCU&#xff08;RISC-V&#xff09; 7. 可编程逻辑器件&#xff08;FPGA&a…

2024 最新docker仓库镜像,6月,7月

目前下面的docker仓库镜像源还能使用。 vi /etc/docker/daemon.json添加如下配置{"registry-mirrors": ["https://hub.uuuadc.top", "https://docker.anyhub.us.kg", "https://dockerhub.jobcher.com", "https://dockerhub.icu&…

实验四 图像增强—灰度变换之直方图变换

一&#xff0e;实验目的 1&#xff0e;掌握灰度直方图的概念及其计算方法&#xff1b; 2&#xff0e;熟练掌握直方图均衡化计算过程&#xff1b;了解直方图规定化的计算过程&#xff1b; 3&#xff0e;了解色彩直方图的概念和计算方法 二&#xff0e;实验内容&#xff1a; …

C++ 类和对象 构造函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…