Undertow 是紅帽公司開發(fā)的一款基于 NIO 的高性能 Web 嵌入式服務(wù)器

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出沁縣免費做網(wǎng)站回饋大家。
Untertow 的特點:
輕量級:它是一個 Web 服務(wù)器,但不像傳統(tǒng)的 Web 服務(wù)器有容器概念,它由兩個核心 Jar 包組成,加載一個 Web 應(yīng)用可以小于 10MB 內(nèi)存
Servlet3.1 支持:它提供了對 Servlet3.1 的支持
WebSocket 支持:對 Web Socket 完全支持,用以滿足 Web 應(yīng)用巨大數(shù)量的客戶端
嵌套性:它不需要容器,只需通過 API 即可快速搭建 Web 服務(wù)器
默認情況下 Spring Cloud 使用 Tomcat 作為內(nèi)嵌 Servlet 容器,可啟動一個 Tomcat 的 Spring Boot 程序與一個 Undertow 的 Spring Boot 程序,通過 VisualVM 工具進行比較,可看到 Undertow 性能優(yōu)于 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><dependency> ????<groupId>org.springframework.boot</groupId> ????<artifactId>spring-boot-starter-undertow</artifactId></dependency>
支持 HTTP2
//?在@Configuration的類中添加@bean@BeanUndertowEmbeddedServletContainerFactory?embeddedServletContainerFactory()?{
????
????UndertowEmbeddedServletContainerFactory?factory?=?new?UndertowEmbeddedServletContainerFactory();????
????//?這里也可以做其他配置
????factory.addBuilderCustomizers(builder?->?builder.setServerOption(UndertowOptions.ENABLE_HTTP2,?true));????
????return?factory;
}配置 Undertow
#?Undertow?日志存放目錄server.undertow.accesslog.dir#?是否啟動日志server.undertow.accesslog.enabled=false?#?日志格式server.undertow.accesslog.pattern=common#?日志文件名前綴server.undertow.accesslog.prefix=access_log#?日志文件名后綴server.undertow.accesslog.suffix=log#?HTTP?POST請求最大的大小server.undertow.max-http-post-size=0? #?設(shè)置IO線程數(shù),?它主要執(zhí)行非阻塞的任務(wù),它們會負責多個連接,?默認設(shè)置每個CPU核心一個線程server.undertow.io-threads=4#?阻塞任務(wù)線程池,?當執(zhí)行類似servlet請求阻塞操作,?undertow會從這個線程池中取得線程,它的值設(shè)置取決于系統(tǒng)的負載server.undertow.worker-threads=20#?以下的配置會影響buffer,這些buffer會用于服務(wù)器連接的IO操作,有點類似netty的池化內(nèi)存管理#?每塊buffer的空間大小,越小的空間被利用越充分server.undertow.buffer-size=1024#?每個區(qū)分配的buffer數(shù)量?,?所以pool的大小是buffer-size?*?buffers-per-regionserver.undertow.buffers-per-region=1024#?是否分配的直接內(nèi)存server.undertow.direct-buffers=true
歡迎工作一到五年的Java工程師朋友們加入Java技術(shù)交流:659270626
群內(nèi)提供免費的Java架構(gòu)學習資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調(diào)優(yōu)、Spring源碼,MyBatis,Netty,redis,Kafka,MySQL,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構(gòu)資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
分享題目:SpringBoot:Undertow
文章轉(zhuǎn)載:http://www.yijiale78.com/article46/gddheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、外貿(mào)建站、建站公司、面包屑導航、營銷型網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)