日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

京東面試:SpringBoot同時可以處理多少請求?

來源: 責編: 時間:2024-05-24 17:23:42 198觀看
導讀Spring Boot 作為 Java 開發(fā)中必備的框架,它為開發(fā)者提供了高效且易用的開發(fā)工具,所以和它相關(guān)的面試題自然也很重要,咱們今天就來看這道經(jīng)典的面試題:Spring Boot 同時可以處理多少個請求 ?準確的來說,Spring Boot 同時可

fg828資訊網(wǎng)——每日最新資訊28at.com

Spring Boot 作為 Java 開發(fā)中必備的框架,它為開發(fā)者提供了高效且易用的開發(fā)工具,所以和它相關(guān)的面試題自然也很重要,咱們今天就來看這道經(jīng)典的面試題:Spring Boot 同時可以處理多少個請求 ?fg828資訊網(wǎng)——每日最新資訊28at.com

準確的來說,Spring Boot 同時可以處理多少個請求,并不取決于 Spring Boot 框架本身,而是取決于其內(nèi)置的 Web 容器(因為 Web 容器的行為,決定了 Spring Boot 的行為,所以咱們姑且認為兩個問題的回答是一樣的)。fg828資訊網(wǎng)——每日最新資訊28at.com

1.Web三大容器

Web 容器目前也是三分天下,市面上最常見的三種 Web 容器分別是:Tomcat、Undertow 和 Jetty,其中 Tomcat 為 Spring Boot 框架默認的 Web 容器。fg828資訊網(wǎng)——每日最新資訊28at.com

它們?nèi)叩膮^(qū)別如下:fg828資訊網(wǎng)——每日最新資訊28at.com

  • Tomcat 是 Apache 軟件基金會下的開源項目,是最廣泛使用的 Servlet 容器之一,完全實現(xiàn)了 Java Servlet 和 JavaServer Pages(JSP)規(guī)范。它不僅是一個 Servlet 容器,也是一個輕量級的應用服務器,盡管相比其他輕量級服務器,Tomcat 被認為是稍微重一些的。Tomcat 支持眾多的企業(yè)級特性,如 SSL、連接池等,適合運行大型的、復雜的企業(yè)級應用。它的穩(wěn)定性和成熟度經(jīng)過了多年的企業(yè)級應用驗證,因此在很多企業(yè)中作為首選的 Web 容器。
  • Undertow 是 Red Hat(紅帽公司)開發(fā)的一個靈活的、高性能的 Web 服務器和反向代理服務器,它是 WildFly 應用服務器的默認 Web 容器。Undertow 設(shè)計上注重低內(nèi)存占用和高并發(fā)處理能力,尤其擅長處理大量的短連接場景,比如 RESTful API 服務。Undertow 支持 Servlet 3.1、WebSocket以及非阻塞 IO(NIO),并且是支持 HTTP/2 協(xié)議的現(xiàn)代服務器之一。它的設(shè)計理念在于提供一個模塊化、可嵌入式的解決方案,易于集成到現(xiàn)有的系統(tǒng)中,同時也適合微服務架構(gòu)。
  • Jetty 是一個開源的、輕量級的 Web 服務器和 Servlet 容器,由 Eclipse 基金會維護。它以其可嵌入式、高度可配置性著稱,常用于需要快速啟動和輕量級部署的場景,比如開發(fā)階段、測試環(huán)境或輕量級應用。Jetty 也支持 Servlet 規(guī)范和 WebSocket,且同樣基于 NIO,使得它在處理大量并發(fā)連接時表現(xiàn)出色。Jetty 設(shè)計上強調(diào)靈活性和可擴展性,易于通過 API 定制以滿足特定需求,因此在云環(huán)境、持續(xù)集成、DevOps 等領(lǐng)域很受歡迎。

fg828資訊網(wǎng)——每日最新資訊28at.com

總的來說,Tomcat 因其成熟穩(wěn)定和企業(yè)級特性適用于大型應用;Undertow 以高性能和低內(nèi)存占用見長,特別適合處理高并發(fā)短連接場景;而 Jetty 則以輕量、靈活、易于嵌入為特點,適合快速開發(fā)和輕量級部署。fg828資訊網(wǎng)——每日最新資訊28at.com

2.最大連接數(shù)和最大等待數(shù)

以 Spring Boot 框架默認的 Web 容器 Tomcat 為例,它能夠同時處理多少個請求,其實是在 Spring Boot 框架中的 spring-configuration-metadata.json 文件中配置著,如下圖所示:fg828資訊網(wǎng)——每日最新資訊28at.com

fg828資訊網(wǎng)——每日最新資訊28at.com

打開此文件,搜索“server.tomcat.max-connections”(Tomcat 最大連接數(shù))會得到以下結(jié)果:fg828資訊網(wǎng)——每日最新資訊28at.com

fg828資訊網(wǎng)——每日最新資訊28at.com

也就是說,默認情況下 Tomcat 允許的最大連接數(shù)是 8192(=8*1024)個。fg828資訊網(wǎng)——每日最新資訊28at.com

那么,此時有人可能會認為,默認情況下 Spring Boot 同時能處理的請求數(shù)應該是 8192,如果你也是這樣認為,那你就錯了。為什么呢?fg828資訊網(wǎng)——每日最新資訊28at.com

因為,雖然 Tomcat 可以允許最大的連接數(shù)是 8192,但是 Tomcat 還有一個最大等待數(shù),也就是說,如果達到了 8192 之后,還有一個等待隊列可以存放請求的連接,所以,Spring Boot 可以同時處理多少個連接,等于 Tomcat 的最大連接數(shù)加 Tomcat 的最大等待數(shù)。fg828資訊網(wǎng)——每日最新資訊28at.com

那么,最大等待數(shù)是多少呢?fg828資訊網(wǎng)——每日最新資訊28at.com

我們繼續(xù)在 spring-configuration-metadata.json 文件中,搜索“server.tomcat.accept-count”(Tomcat 最大等待數(shù)),搜索結(jié)果如下圖所示:fg828資訊網(wǎng)——每日最新資訊28at.com

fg828資訊網(wǎng)——每日最新資訊28at.com

也就是說,默認情況下,Tomcat 最大等待數(shù)為 100 個。fg828資訊網(wǎng)——每日最新資訊28at.com

3.同時處理請求數(shù)

所以得出結(jié)論:默認情況下 Spring Boot 能夠同時處理的請求數(shù)=最大連接數(shù)(8192)+最大等待數(shù)(100),結(jié)果為 8292 個。fg828資訊網(wǎng)——每日最新資訊28at.com

當然,這兩個值是可以在 Spring Boot 配置文件中修改的,如下配置所示:fg828資訊網(wǎng)——每日最新資訊28at.com

server:  tomcat:    max-connections: 2000 # 最大連接數(shù)    accept-count: 200 # 最大等待數(shù)

4.擴展知識:設(shè)置Web容器

Spring Boot 框架如何設(shè)置 Web 容器為 Jetty 或 Undertow 呢?接下來,我們來看一下。fg828資訊網(wǎng)——每日最新資訊28at.com

(1)設(shè)置容器為Jetty

要設(shè)置 Spring Boot 框架的 Web 容器為 Jetty,只需要修改 pom.xml 文件即可,如下配置所示:fg828資訊網(wǎng)——每日最新資訊28at.com

<dependencies>    <!-- Spring Boot Starter Web 但排除Tomcat -->    <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>    <!-- 添加Jetty起步依賴 -->    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-jetty</artifactId>    </dependency></dependencies>

也就是說,只需要將默認的 tomcat 排除掉,添加 jetty 的依賴即可。fg828資訊網(wǎng)——每日最新資訊28at.com

(2)設(shè)置容器為Undertow

要設(shè)置 Spring Boot 框架的 Web 容器為 Undertow 的思路和上面 Jetty 的實現(xiàn)思路相同,只需要修改 pom.xml 文件即可,如下配置所示:fg828資訊網(wǎng)——每日最新資訊28at.com

<dependencies>    <!-- Spring Boot Starter Web 但排除Tomcat -->    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>        <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></dependencies>

本文鏈接:http://www.www897cc.com/showinfo-26-90661-0.html京東面試:SpringBoot同時可以處理多少請求?

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

上一篇: Java 反射:讓你更優(yōu)雅的使用框架!

下一篇: 敏捷的數(shù)據(jù)工程實踐

標簽:
  • 熱門焦點
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網(wǎng)課的原因激活了平板市場,如今網(wǎng)課的時代已經(jīng)過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環(huán)境來了。也就是面對著這種殘酷的
  • Redmi Pad評測:紅米充滿野心的一次嘗試

    從Note系列到K系列,從藍牙耳機到筆記本電腦,紅米不知不覺之間也已經(jīng)形成了自己頗有競爭力的產(chǎn)品體系,在中端和次旗艦市場上甚至要比小米新機的表現(xiàn)來得更好,正所謂“大丈夫生居
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發(fā)布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產(chǎn)品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

    一、MSBuild簡介MSBuild是一種基于XML的構(gòu)建引擎,用于在.NET Framework和.NET Core應用程序中自動化構(gòu)建過程。它是Visual Studio的構(gòu)建引擎,可在命令行或其他構(gòu)建工具中使用
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數(shù)量是否小于或等于一個數(shù)字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 分享六款相見恨晚的PPT模版網(wǎng)站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS網(wǎng)站旨在為全球Office用戶提供豐富的高品質(zhì)原創(chuàng)PPT模板、實用文檔、數(shù)據(jù)圖表及個性化定制服務。優(yōu)點:OfficePLUS是微軟官方網(wǎng)站,囊括PPT模板、Word模
  • 零售大模型“干中學”,攀爬數(shù)字化珠峰

    文/侯煜編輯/cc來源/華爾街科技眼對于絕大多數(shù)登山愛好者而言,攀爬珠穆朗瑪峰可謂終極目標。攀登珠峰的商業(yè)路線有兩條,一是尼泊爾境內(nèi)的南坡路線,一是中國境內(nèi)的北坡路線。相
  • 滴滴違法違規(guī)被罰80.26億 共存在16項違法事實

    滴滴違法違規(guī)被罰80.26億 存在16項違法事實開始于2121年7月,歷經(jīng)一年時間,網(wǎng)絡(luò)安全審查辦公室對“滴滴出行”網(wǎng)絡(luò)安全審查終于有了一個暫時的結(jié)束。據(jù)“網(wǎng)信
  • 電博會與軟博會實現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟良性發(fā)展;又可以聚
Top 主站蜘蛛池模板: 香格里拉县| 会东县| 姚安县| 怀化市| 咸宁市| 重庆市| 那曲县| 嘉定区| 陈巴尔虎旗| 如皋市| 罗平县| 宝清县| 叙永县| 柳河县| 芜湖县| 西和县| 翁牛特旗| 黄梅县| 武义县| 桃江县| 成都市| 阿鲁科尔沁旗| 武定县| 梓潼县| 宝兴县| 洪湖市| 苍梧县| 富阳市| 新密市| 巴林左旗| 海丰县| 南康市| 涞水县| 龙里县| 高安市| 梅州市| 库尔勒市| 随州市| 阿图什市| 永安市| 永福县|