capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧

capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧

ID:30776293

大小:58.00 KB

頁數(shù):4頁

時(shí)間:2019-01-03

capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧_第1頁
capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧_第2頁
capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧_第3頁
capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧_第4頁
資源描述:

《capsule:開源的jvm應(yīng)用部署工具-java開發(fā)java經(jīng)驗(yàn)技巧》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、Capsule:開源的JVM應(yīng)用部署工具-編程開發(fā)技術(shù)Capsule:開源的JVM應(yīng)用部署工具譯文出處:王鵬原文出處:dzone現(xiàn)實(shí)世界中,應(yīng)用程序部署過程可能沒冇想象中的那么簡單。應(yīng)用程序其實(shí)非常「皺感」,在部署過程中,它會(huì)發(fā)現(xiàn)門己身處一個(gè)陌生的環(huán)境中,并且在與不同碩件、不同基礎(chǔ)設(shè)施軟件,以及陌生的鄰居(應(yīng)用程序)行交互。如果期望應(yīng)用程序正常地運(yùn)行,編碼和部署過程都是重中之重。兩者之間的平衡常常依賴于程序的編寫語言、程序構(gòu)成的運(yùn)行時(shí)和工具,因此,不同的技術(shù)??赡苄枰煌牟渴鸸ぞ?。但JVM應(yīng)用程序?qū)Νh(huán)境的要求非常少一一只需一個(gè)JVM和一個(gè)內(nèi)核,然而意想不到是,目前為止尚不存在一個(gè)通用的JVM

2、應(yīng)用部署工具/機(jī)制。FatJARs并不總奏效,而且它們需要平臺(tái)特定的腳木。最近有人使用Docker來部署Java應(yīng)用,事實(shí)上Docker并不適用于這種任務(wù):它的主要目的之一是提供通用的應(yīng)用可移植性(類似JVM應(yīng)用已經(jīng)具備的特性),同時(shí)它也需要下載、部署并管理各種full-OS鏡像和存repositorieso作為運(yùn)彳亍時(shí)不可知工具,Docker也無法利用JVMs的優(yōu)勢。當(dāng)下,經(jīng)過一年的發(fā)展,Capsule1.0正式發(fā)布一個(gè)簡單、健壯且靈活的JVM應(yīng)用部署工具。Capsule迎合JVM應(yīng)用的獨(dú)特優(yōu)勢和需求,因此這里有理由相信這是最簡單、最強(qiáng)大的JVM應(yīng)用部署方式,不管是用于一個(gè)桌面應(yīng)用、micr

3、oscrvicc或復(fù)雜的Web應(yīng)用。Capsule不僅適用于Java應(yīng)用程序,還能應(yīng)用J?所冇JVM語言,從Jtuby、Jython和Groovy,到Kotlin、Clojure和Scala,再到Frege和OCaml-Java<>如果你在寫JVM程序,給Capsule一個(gè)機(jī)會(huì)。你口J以這樣來理解capsule,將它當(dāng)作steroids上的1個(gè)fatJAR(在允許本地庫的同時(shí)也不會(huì)干擾到依賴項(xiàng))與1個(gè)聲明式啟動(dòng)腳木的整合;另一個(gè)理解方式是,將其當(dāng)作部署階段的構(gòu)建工具。正如構(gòu)建管理工具一樣,Capsule從構(gòu)建到應(yīng)用發(fā)布的各個(gè)環(huán)節(jié)都有全方位的管理。Capsule在設(shè)計(jì)時(shí)一宜遵循以下原則:?打包應(yīng)

4、該是輕量、可移杭和便捷的。無論多么復(fù)雜,不管有多少JAR文件組成,或者冇多少腳本語言的源文件還是木地庫,Capsule都可以包裝任何JVM應(yīng)用到一個(gè)名為Capsule的可執(zhí)行JAR,并且可以在任何平臺(tái)上運(yùn)行。Capsule可以直接包含應(yīng)用的所有依賴項(xiàng),或簡單地聲明部分或者全部,一旦發(fā)布將會(huì)被完整的下載。這就是fatJAR的工作方式。如果愿意,capsules木身也口J以置于Mavenrepositories,在發(fā)布時(shí)進(jìn)行卜載。?安裝對主機(jī)系統(tǒng)的影響最小,并對更新選擇性支持。在capsule首次安裝時(shí),其正常運(yùn)行需耍依賴在1個(gè)臨時(shí)冃錄中生成的一些文件,隨后用戶可以在任何吋刻刪除這些文件,不會(huì)對c

5、apsule產(chǎn)生任何不良影響。capsule可以選擇性地支持更新——不管是應(yīng)用或者是其依賴關(guān)系——當(dāng)啟動(dòng)時(shí)會(huì)自動(dòng)下載。這些依賴關(guān)系一一可以是語言運(yùn)行時(shí)或者是Web容器——也可以被具他capsule共亨。?發(fā)布必須是確定和靈活的,可能是安全的且有選擇地限制。發(fā)布一個(gè)capsule不需要啟動(dòng)腳木。Capsules査找詰求的JVM版木、設(shè)置classpath>必要的agents并設(shè)置JVMflagsoCapsules在啟動(dòng)時(shí)也可以創(chuàng)建自己的容器(來限制資源使用,或使用己知的端口以避免對其他項(xiàng)目形成干擾),同時(shí)JVM應(yīng)用可以在無特權(quán)的容器下運(yùn)行,這些容器是安全的。另外,安全性由JVM提供的安全機(jī)制保證

6、。此外,capsules只需耍一個(gè)內(nèi)核和一個(gè)JVM——甚至不需耍shell,他們便能在JVMmicrokernels上運(yùn)行,比如OSv。通過caplets和組件定制capsule的行為,所有這些功能都是完全可編程、可組合的。當(dāng)工具和標(biāo)準(zhǔn)已經(jīng)存在時(shí),不用再重造車輪。Capsule是用Java編寫的,并可以通過Java擴(kuò)展。它遵循JVM生態(tài)系統(tǒng),而不是重造車輪,僅使用現(xiàn)有的工具和標(biāo)準(zhǔn)。capsule打包在一個(gè)可執(zhí)行JAR,并將所有元數(shù)據(jù)存儲(chǔ)為簡單的JAR-manifestattributes中;并且口J以根據(jù)需要,從Mavenrepositories中下載全部或者部分,并通過Maven、Gradl

7、c和Leiningcn這些流彳亍的JVM工具構(gòu)建。Capsule本身是一個(gè)簡單的Maven依賴,就像所有的構(gòu)建工具插件,不需要再安裝其他新工具。通過Caplets實(shí)現(xiàn)的Capsule魔法CapsuleZ所以能保持簡單還能提供這些功能主要?dú)w功于caplets,以模塊化定制Capsule行為。Caplets可以嵌入到1個(gè)capsule,或者單獨(dú)進(jìn)行包裝并使用命令行包裝和修改現(xiàn)有capsule行為。Ca

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。