AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

大廠內幕:SpringBoot項目為何棄用Tomcat,轉投Undertow懷抱?

來源: 責編: 時間:2024-07-15 17:13:53 578觀看
導讀對于Tomcat技術,Java程序員應該都非常熟悉,它是Web應用最常用的容器技術。我們最早的開發的項目基本都是部署在Tomcat下運行。在軟件開發的浪潮中,技術的更迭總是讓人目不暇接。在SpringBoot框架中,我們使用最多的是Tomca

對于Tomcat技術,Java程序員應該都非常熟悉,它是Web應用最常用的容器技術。我們最早的開發的項目基本都是部署在Tomcat下運行。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

在軟件開發的浪潮中,技術的更迭總是讓人目不暇接。在SpringBoot框架中,我們使用最多的是Tomcat,這是SpringBoot默認的容器技術,而且是內嵌式的Tomcat。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

但是,許多大廠的SpringBoot項目紛紛棄用Tomcat,轉而擁抱Undertow。這背后究竟隱藏著什么秘密?今天,就讓我們一起揭開這層神秘的面紗。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

接下來先比較Tomcat與Undertow的優劣,我們從以下幾個方面進行概述。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

看重點

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

Tomcat的優勢:

ByW28資訊網——每日最新資訊28at.com

成熟與廣泛使用:Tomcat是Apache基金會的開源項目,作為一個成熟的Web服務器和Servlet容器,它包含了HTTP服務器,因此也可以作為單獨的Web服務器使用。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

豐富的功能:Tomcat提供了管理和控制平臺、安全局管理和Tomcat閥等功能,這些都是Tomcat特有的功能。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

Undertow的優勢:ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

高性能:Undertow基于非阻塞I/O和異步處理,能夠提供更高的性能和更好的并發處理能力。它在高并發場景下尤其表現出色,能夠處理更多請求并提供更快的響應速度。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

輕量級:Undertow的代碼庫相對較小,這使得它在資源占用和啟動時間方面具有優勢,特別適合需要快速啟動和低內存占用的應用場景。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

更好的異步支持:Undertow提供了完善的異步支持,非常適合處理高并發的請求。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

易于配置:Undertow提供了簡單易用的配置選項,使得開發者可以快速定制和部署應用程序。Spring Boot中的自動配置功能使得切換到Undertow變得非常簡單。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

WebSocket支持:Undertow在WebSocket方面的實現更加輕量級和高效,這使得它在實時Web應用場景中更具優勢。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

HTTP/2支持:Undertow支持HTTP/2協議,開發者可以利用HTTP/2的性能優勢,如頭部壓縮、服務器推送等。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

總結:如果你的應用場景需要高性能、快速啟動和輕量級的服務器,Undertow可能是更好的選擇。而如果你需要一個成熟、功能豐富的Web服務器,且對資源占用和并發處理能力要求不是特別高,Tomcat則可能更適合你的需求。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

大廠項目棄用Tomcat原因總結:在高并發系統中,Tomcat相對來說比較弱。在相同的機器配置下,模擬相等的請求數,Undertow在性能和內存使用方面都是最優的。并且Undertow新版本默認使用持久連接,這將會進一步提高它的并發吞吐能力。所以,如果是高并發的業務系統,Undertow是最佳選擇。ByW28資訊網——每日最新資訊28at.com

一、什么是Undertow?

Undertow 是一個采用 Java 開發的靈活的高性能 Web 服務器,提供包括阻塞和基于 NIO 的非堵塞機制。Undertow 是紅帽公司的開源產品,是 Wildfly 默認的 Web 服務器。Undertow 提供一個基礎的架構用來構建 Web 服務器,這是一個完全為嵌入式設計的項目,提供易用的構建器 API,完全向下兼容 Java EE Servlet 3.1 和低級非堵塞的處理器。ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

Undertow的主要特點:ByW28資訊網——每日最新資訊28at.com

  • 高性能 在多款同類產品的壓測中,在高并發情況下表現出色。
  • Servlet4.0 支持 它提供了對 Servlet4.0 的支持。
  • Web Socket 完全支持,包括JSR-356,用以滿足 Web 應用巨大數量的客戶端。
  • 內嵌式 它不需要容器,只需通過 API 即可快速搭建 Web 服務器。
  • 靈活性 交由鏈式Handler配置和處理請求,可以最小化按需加載模塊,無須加載多余功能。
  • 輕量級 它是一個 內嵌Web 服務器, 由兩個核心 Jar 包組成

二、SpringBoot標準項目中如何使用Undertow

1.pom.xml中引入依賴ByW28資訊網——每日最新資訊28at.com

<!--  啟動器依賴 --><dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-web</artifactId>   <!-- 移除Tomcat的依賴 -->   <exclusions>       <exclusion>           <groupId>org.springframework.boot</groupId>           <artifactId>spring-boot-starter-tomcat</artifactId>       </exclusion>   </exclusions></dependency><!--   采用Undertow依賴 --><dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-undertow</artifactId></dependency><dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter</artifactId></dependency>

2.application.yml核心配置

server:  undertow:    # 設置IO線程數, 它主要執行非阻塞的任務,它們會負責多個連接, 默認設置每個CPU核心一個線程    io-threads: 2    # 阻塞任務線程池, 當執行類似servlet請求阻塞操作, undertow會從這個線程池中取得線程,它的值設置取決于系統的負載    worker-threads: 1000    # 以下的配置會影響buffer,這些buffer會用于服務器連接的IO操作,有點類似netty的池化內存管理    # 每塊buffer的空間大小,越小的空間被利用越充分    buffer-size: 1024    # 是否分配的直接內存    direct-buffers: true

3.運行效果ByW28資訊網——每日最新資訊28at.com

圖片ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

ByW28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-100983-0.html大廠內幕:SpringBoot項目為何棄用Tomcat,轉投Undertow懷抱?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 13個 JavaScript 面試難題及代碼實現

下一篇: OpenResty實戰系列 | 執行流程與階段詳解

標簽:
  • 熱門焦點
Top