欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot如何使用Undertow代替Tomcat

 更新時間:2020年09月07日 09:54:34   作者:碼農(nóng)小胖哥  
這篇文章主要介紹了Spring Boot如何使用Undertow代替Tomcat,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1. Undertow 簡介

Undertow 是一個采用 Java 開發(fā)的靈活的高性能 Web 服務器,提供包括阻塞和基于 NIO 的非堵塞機制。Undertow 是紅帽公司的開源產(chǎn)品,是 Wildfly 默認的 Web 服務器。Undertow 提供一個基礎的架構用來構建 Web 服務器,這是一個完全為嵌入式設計的項目,提供易用的構建器 API,完全向下兼容 Java EE Servlet 3.1 和低級非堵塞的處理器。

2. Undertow特點

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

3. 替換默認的Tomcat

Spring boot 默認使用 Tomcat 內(nèi)嵌容器 。依賴于 spring-boot-starter-web 。我們只需要排除 Tomcat 依賴。引用Undertow 就可以了,maven 配置如下:

 <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>
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-undertow</artifactId>
  </dependency>

4. 自定義配置Undertow

其實到第三步已經(jīng)可以愉快地玩耍了。你可以立即在 https://felord.cn 找到更多教程來學習Spring Boot。當然你也可以再折騰一番,通過在Spring Boot 配置文件application.yml中配置 ServerProperties 和ServerProperties.Undertow 的相關屬性。 總結了一下比較陌生的ServerProperties.Undertow 的屬性:

# 設置IO線程數(shù), 它主要執(zhí)行非阻塞的任務,它們會負責多個連接, 默認設置每個CPU核心一個線程
# 不要設置過大,如果過大,啟動項目會報錯:打開文件數(shù)過多
server:
 undertow:
   io-threads: 16
# 阻塞任務線程池, 當執(zhí)行類似servlet請求阻塞IO操作, undertow會從這個線程池中取得線程
# 它的值設置取決于系統(tǒng)線程執(zhí)行任務的阻塞系數(shù),默認值是IO線程數(shù)*8
   worker-threads: 256
# 以下的配置會影響buffer,這些buffer會用于服務器連接的IO操作,有點類似netty的池化內(nèi)存管理
# 每塊buffer的空間大小,越小的空間被利用越充分,不要設置太大,以免影響其他應用,合適即可
   buffer-size: 1024
# 每個區(qū)分配的buffer數(shù)量 , 所以pool的大小是buffer-size * buffers-per-region
   buffers-per-region: 1024
# 是否分配的直接內(nèi)存(NIO直接分配的堆外內(nèi)存)
   direct-buffers: true

5. 總結

今天我們演示了如何用性能優(yōu)良的 Undertow 來作為Spring Boot 的 Servlet Web 容器。其實在并發(fā)量不大的情況下 Undertow、和其它兩款 Servlet Web 容器 Jetty 、Tomcat 的差距并不是很大。 Undertow 的優(yōu)勢是高并發(fā)下的吞吐量。你可以根據(jù)自己的實際需要來選擇。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot中使用SpringSecurity進行權限控制的示例代碼

    SpringBoot中使用SpringSecurity進行權限控制的示例代碼

    本文將詳細介紹如何在Spring Boot應用程序中使用Spring Security進行權限控制,我們將探討Spring Security的基本概念,以及如何使用Spring Security實現(xiàn)認證和授權,需要的朋友可以參考下
    2024-02-02
  • 一篇文章帶你了解Java泛型的super和extends

    一篇文章帶你了解Java泛型的super和extends

    這篇文章主要介紹了Java泛型extends及super區(qū)別實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-08-08
  • Java API學習教程之正則表達式詳解

    Java API學習教程之正則表達式詳解

    正則表達式的強大眾所周知,它令程序員的頭痛程度也數(shù)一數(shù)二的。下面這篇文章主要給大家介紹了關于Java API學習教程之正則表達式的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • idea配置檢查XML中SQL語法及書寫sql語句智能提示的方法

    idea配置檢查XML中SQL語法及書寫sql語句智能提示的方法

    idea連接了數(shù)據(jù)庫,也可以執(zhí)行SQL查到數(shù)據(jù),但是無法識別sql語句中的表導致沒有提示,下面這篇文章主要給大家介紹了關于idea配置檢查XML中SQL語法及書寫sql語句智能提示的相關資料,需要的朋友可以參考下
    2023-03-03
  • Java基于Spire Cloud Excel把Excel轉換成PDF

    Java基于Spire Cloud Excel把Excel轉換成PDF

    這篇文章主要介紹了Java基于Spire Cloud Excel把Excel轉換成PDF,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • java獲取linux服務器上的IP操作

    java獲取linux服務器上的IP操作

    這篇文章主要介紹了java獲取linux服務器上的IP操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java將文件夾保留目錄打包為 ZIP 壓縮包并下載的教程詳解

    Java將文件夾保留目錄打包為 ZIP 壓縮包并下載的教程詳解

    這篇文章主要介紹了Java將文件夾保留目錄打包為 ZIP 壓縮包并下載的教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • spring為類的靜態(tài)屬性實現(xiàn)注入實例方法

    spring為類的靜態(tài)屬性實現(xiàn)注入實例方法

    在本篇文章里小編給大家整理的是關于spring為類的靜態(tài)屬性實現(xiàn)注入實例方法,有需要的朋友們可以參考下。
    2019-10-10
  • java實現(xiàn)KFC點餐小程序

    java實現(xiàn)KFC點餐小程序

    這篇文章主要為大家詳細介紹了java實現(xiàn)KFC點餐系統(tǒng)小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Spark?SQL配置及使用教程

    Spark?SQL配置及使用教程

    SparkSQL是spark的一個模塊,主入口是SparkSession,將SQL查詢與Spark程序無縫混合,這篇文章主要介紹了Spark?SQL配置及使用,需要的朋友可以參考下
    2021-12-12

最新評論