中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java技術棧有什么特性

發布時間:2021-12-14 10:11:49 來源:億速云 閱讀:162 作者:iii 欄目:云計算

這篇文章主要講解了“Java技術棧有什么特性”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java技術棧有什么特性”吧!

Java棧

War包在Tomcat或Jetty下的加載方式。

JAVA應用的經典交付形態是WAR包,在Docker下使用Tomcat或Jetty來進行WAR包的部署可以有兩種方式:

1 . 將WAR包放到Docker鏡像中:這種好處是產生的Docker鏡像自包含,發布時不需要再發布獨立的WAR包。Dockerfile例子如下:

FROM jetty:7.0

MAINTAINER xyz

ADD sample.* /usr/local/jetty/webapps/

這種方法的缺點是每次更新WAR包需要重新構建Docker鏡像。

2. 將WAR包作為外部數據卷掛載:不將WAR包放在鏡像里,這種方法的好處是每次WAR包更新,Docker鏡像不需要更新。但是需要額外的WAR包發布機制。考慮到目前應該有WAR包發布機制,此方案可能更為靈活和熟悉。但這種方案的缺點就是Docker的可移植性受到損害,因為每個環境下必須要在宿主機的指定路徑下有WAR包,使得Docker可以對其進行掛載。

JAVA發布的Sidecar模式

Caicloud的容器組的概念保證容器組中的容器可以做到:

  1. 任何時候都運行在同一個宿主機上

  2. 共享同樣的外部掛載數據卷

這兩個特性使得我們可以實現如下的sidecar模式:

Java技術棧有什么特性

這樣取得了一箭雙雕的好處:

  • 由于沒有將應用程序的WAR包構建到Jetty容器中,使得應用的版本管理和Jetty等中間件的版本管理可以分開獨立地進行。例如,如果Jetty的版本需要升級,我們不需要重新構建N個鏡像(假設有N個不同的應用或WAR包)。

  • 另一方面,通過使用sidecar來“搬運”應用WAR包,我們又不用擔心可移植性的問題:只要把app-sidecar容器和Jetty容器定義在一個容器組中,Caicloud會保證應用War會一直“跟著Jetty容器跑”。

在開發模式下使用Docker Jetty

上述使用War包的方法是將Docker作為軟件發布的載體。有些時候開發者也會使用Docker作為本地開發的環境(在本地開發修改代碼,同時在本地以Docker的形式運行當前代碼)。此時需要注意的是,如果本地的代碼文件是通過COPY或ADD加入到Docker鏡像中,那么哪怕在Docker內使用mvn jetty:run, mvn也無法實時地反應本地文件、代碼的變化。一個解決方法是通過掛載數據卷的方式來連接到本地的代碼文件。

Docker Jetty模式下的日志

在非Docker模式下,Jetty的日志會根據Jetty的配置文件寫到指定的位置,例如:/var/log/jetty。在Docker模式下,例如使用官方的Jetty鏡像,這個日志文件會被完全取消,例如在Jetty 9.2.10的Dockerfile中:sed -i '/jetty-logging/d' etc/jetty.conf

這樣,Jetty的日志會寫到標準輸出中從而被Docker或Caicloud平臺進行統一的管理。

感謝各位的閱讀,以上就是“Java技術棧有什么特性”的內容了,經過本文的學習后,相信大家對Java技術棧有什么特性這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秀山| 东光县| 云霄县| 新津县| 宁德市| 子洲县| 龙川县| 敦化市| 融水| 东兴市| 健康| 桐庐县| 南阳市| 罗平县| 临夏县| 山东| 闵行区| 遂川县| 慈利县| 壤塘县| 安顺市| 南部县| 清新县| 盐亭县| 宜黄县| 喀喇沁旗| 开鲁县| 海晏县| 习水县| 社旗县| 尚志市| 黄平县| 尚义县| 攀枝花市| 惠安县| 桓仁| 寿宁县| 盐亭县| 石景山区| 永福县| 元朗区|