三、切換其他嵌入式Servlet容器

(一)其他Servlet容器介紹和優勢

Jetty的架構比Tomcat的更爲簡單。Jetty可以同時處理大量連接而且可以長時間保持連接,適合於web聊天應用等等。
Jetty的架構簡單,因此作爲服務器,Jetty可以按需加載組件,減少不需要的組件,減少了服務器內存開銷,從而提高服務器性能。
Jetty默認採用NIO。在處理I/O請求上更佔優勢,在處理靜態資源時,性能較高。Tomcat適合處理少數非常繁忙的鏈接,也就是說鏈接生命週期短的話,Tomcat的總體性能更高。Tomcat默認採用BIO處理I/O請求,在處理靜態資源時,性能較差。Jetty的應用更加快速,修改簡單,對新的Servlet規範的支持較好。Tomcat目前應用比較廣泛,對JavaEE和Servlet的支持更加全面,很多特性會直接集成進來。相較於undertow,在併發量不高的情況下 , Tomcat與undertow的吞吐量區別不大 , 併發量高的情況下 , undertow的性能要優於Jetty與Tomcat.

備註:SpringBoot內部嵌入了三個Servlet容器,可以進行選擇切換。包括:
Jetty、Tomcat、undertow.默認是使用Tomcat容器.
SpringBoot 2.X新增了Netty容器,變成了四個可選擇的容器

(二)切換方式

1:tomcat依賴排除

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
    </dependency>

2:引入其他的servlet容器
切換jetty容器

 <dependency>
            <artifactId>spring-boot-starter-jetty</artifactId>
            <groupId>org.springframework.boot</groupId>
  </dependency>

切換undertow容器

  <dependency>
            <artifactId>spring-boot-starter-undertow</artifactId>
            <groupId>org.springframework.boot</groupId>
   </dependency>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章