什么是嵌入式Tomcat? -來自WhatIs.com的定義

19-10-12 banq
                   

嵌入式Tomcat服務器由單個Java Web應用程序和完整的Tomcat服務器發行版組成,打包在一起并壓縮成單個JAR,WAR或ZIP文件。

嵌入式Tomcat提供了一種打包Java?Web應用程序的方法,該方法與基于微服務的軟件開發方法一致。它還使通過Docker容器分發Java Web應用程序和通過容器編排服務(例如Kubernetes或OpenShift)管理它們變得更加容易。

嵌入式Tomcat與獨立實例

在傳統設置中,企業將使用單個獨立的Tomcat服務器,并將所有Java Web應用程序部署到該實例。然后,該一臺應用服務器將在水平和垂直方向上進行集群和擴展,以管理吞吐量和容量。使用這種傳統配置,Tomcat服務器與部署到該服務器的應用程序之間的基數始終是一對多。

對于嵌入式Tomcat服務器,服務器與應用程序之間的比率為1比1。單個Java Web應用程序已部署到單個Tomcat服務器。與Tomcat服務器和已部署的應用程序相關聯的所有文件都被壓縮為單個存檔文件,通常以.zip,.jar或.war擴展名。

術語嵌入式Tomcat的基礎是指應用程序和整個Tomcat服務器打包在一個易于管理和壓縮的單個存檔文件中。

嵌入式Tomcat如何工作?

嵌入式Tomcat服務器的另一個關鍵元素是可執行文件。只要計算機上已安裝JRE并配置了JAVA_HOME,在將JAR文件的名稱提供給java -jar實用程序時,就可以從命令行運行嵌入式Tomcat服務器。這是運行打包在名為embeded-tomcat-example.jar文件的嵌入式Tomcat應用程序所需的命令:

java -jar embedded-tomcat-example.jar

命令完成后,Tomcat服務器將啟動,并且可以通過HTTP請求(例如網頁,基于SOAP的Web服務或RESTful API調用)訪問部署在其中的Java Web應用程序。默認的嵌入式Tomcat端口是8080。

嵌入式Tomcat和Maven

創建嵌入式Tomcat文件的最常見方法之一是使用Maven?-Tomcat插件進行構建。

通過這種方法,開發人員可以創建基于Maven的Java Web項目,而無需考慮應用程序的打包方式。然后,在Maven構建期間,將引用Tomcat插件的exec-war-only開關。這是一個如何使用Maven-Tomcat插件創建可執行的嵌入式Tomcat JAR文件的示例。

/c/ embedded Tomcat example/maven-build
$ mvn clean install tomcat7:exec-war-only
<p>[INFO] --- embedded tomcat maven plugin running
<p>[INFO] -------------------------------------------
<p>[INFO] MAVEN BUILD SUCCESS : EMBEDDED TOMCAT JAR CREATED
<p>[INFO] -------------------------------------------
<p>[INFO] Elapsed time: 2.211 s
<p>[INFO] -------------------------------------------

嵌入式Tomcat和Spring Boot

Spring?Boot是一個流行的基于Java的框架,用于開發微服務。默認情況下,用于構建Spring Boot應用程序的Spring Tool Suite(STS)IDE會在每次構建或部署時自動使用開發的微服務來創建嵌入式Tomcat服務器。STS內置了其他功能,以促進基于微服務的開發,包括設置斷點以及隨后在嵌入式Tomcat服務器上執行代碼時逐步執行代碼的功能。

嵌入式Tomcat替代品

Tomcat與其他Java應用程序服務器(包括WebSphere,Jetty,Wildfly,Payara和JBoss)競爭。這些服務器中的每一個都提供了用于創建單個JAR或WAR文件的功能,在該文件中嵌入了服務器和應用程序。

從WebSphere Portal實例轉向微服務體系結構的IBM客戶端可以遵循帶有嵌入式WebSphere Liberty實例的通用遷移路徑。Jetty是Jenkins?CI的獨立發行版中使用的嵌入式服務器。Wildfly是高度模塊化的,可以去除所有不需要的服務。當您希望服務器占用的空間最小時,它通常是嵌入式Tomcat實例的流行替代方法。

嵌入式Tomcat與單獨運行的性能

由于每個嵌入式Tomcat實例都運行自己的完整Tomcat服務器實例,因此與獨立版本相比,前期性能成本較高。

例如,如果組織運行了10個嵌入式Tomcat實例,則將啟動10個單獨的Tomcat服務器實例。但是,獨立實例僅將10個應用程序部署到一個實例。在這種情況下,獨立性能將更快,因為僅需啟動一個Java進程即可。所有傳入的請求都可以由高效線程處理。

使用嵌入式Tomcat,每個服務器都需要自己的Java進程,并且其他線程可以處理傳入的請求。Java進程比單個執行線程需要更多的處理能力。因此,與承載多個應用程序的獨立服務器相比,嵌入式Tomcat服務器需要更多資源才能運行。

嵌入式Tomcat的好處

前面提到的將嵌入式Tomcat性能與獨立實例進行比較的場景,錯過了開發人員將應用程序部署到嵌入式Tomcat實例的原因。使用嵌入式Tomcat實例,可以使單個應用程序脫機或重新啟動,而不會影響其他應用程序。使用獨立架構是不可能的。

此外,如果單個應用程序需要更多資源,則可以對其進行工作負載管理。在傳統的實現方式中,必須對單個Tomcat服務器進行工作負載管理,這意味著即使僅部署的一個應用程序承受了較高的負載,每個托管應用程序都需要進行擴展。

嵌入式Tomcat和容器

在可執行的嵌入式Tomcat實例中交付Java Web應用程序的主要思想是能夠將該文件移動到Docker容器中,并將該容器部署到容器托管的環境(如Kubernetes或OpenShift)中。此功能打開了各種低成本的基于云的伸縮選項,這些選項對于獨立的Tomcat實例不可用。

因此,使用嵌入式Tomcat服務器是允許傳統開發的Java Web應用程序利用現代企業架構的關鍵。

?

                   

一级黄色录像影片 夫妻性生活影片 免费在线观看 一级a做爰片