教培參考
教育培訓(xùn)行業(yè)知識型媒體
發(fā)布時(shí)間: 2025年05月17日 07:09
Java仍然是開發(fā)人員群體中最流行的編程語言之一,如果在容器和Kubernetes環(huán)境下使用它,還是有缺點(diǎn)的。
Quarkus為700多萬Java開發(fā)人員提供了用他們熟悉的框架繼續(xù)構(gòu)建新應(yīng)用的機(jī)會。
為什么要在紅帽O(jiān)penShift上使用Quarkus?
Quarkus應(yīng)用在容器中運(yùn)行,而紅帽O(jiān)penShift天然集成了Quarkus,從而讓部署更簡化。Quarkus on Red Hat OpenShift為開發(fā)人員提供熟悉的工具、使用紅帽CodeReady Workspaces等IDE的集群遠(yuǎn)程開發(fā),以及與托管配置的集成、無服務(wù)器工作負(fù)載的部署和應(yīng)用存儲的管理。
Quarkus還提供與Kubernetes API的集成,包括通用API客戶端和使用Kubernetes ConfigMaps的動態(tài)應(yīng)用配置。購買紅帽O(jiān)penShift時(shí)包含對Quarkus的紅帽訂閱和支持。
Quarkus和開發(fā)人員生產(chǎn)力
Quarkus的設(shè)計(jì)充分考慮到了開發(fā)人員。開發(fā)人員生產(chǎn)力意味著組織可以通過快速開發(fā)和部署新應(yīng)用來更快地響應(yīng)快速變化的市場。Quarkus可幫助提高開發(fā)人員的工作效率,例如用于快速內(nèi)循環(huán)開發(fā)的實(shí)時(shí)編碼、與紅帽CodeReady Workspaces等IDE的集成,以及超越傳統(tǒng)Java標(biāo)準(zhǔn)的API。
使用Quarkus,開發(fā)人員可以混合使用MicroProfile、Spring framework API,和其他現(xiàn)有流行框架等標(biāo)準(zhǔn),同時(shí)受益于Quarkus在Kubernetes上的效率。
如何將我的Spring Boot應(yīng)用帶到Quarkus?
將當(dāng)前的Spring Boot應(yīng)用帶到Quarkus和紅帽O(jiān)penShift不僅是可能的,而且比你想象得更容易。應(yīng)用程序遷移工具包(MTA)可以通過分析源代碼,甚至二進(jìn)制文件來審查您的Java應(yīng)用組合,其中涵蓋了廣泛的轉(zhuǎn)換路徑(Java EE、JDK、Linux、容器化、Quarkus 等),并加速遷移過程。
MTA 5.1版提供了對Spring Boot到Quarkus的廣泛支持。
Quarkus是什么?
Quarkus是一個(gè)框架,用于構(gòu)建在傳統(tǒng)Java虛擬機(jī)(JVM)上運(yùn)行,或作為原生編譯的可執(zhí)行文件運(yùn)行的 Kubernetes原生Java應(yīng)用。Quarkus最大限度地減少了啟動時(shí)間和內(nèi)存使用,并與現(xiàn)有Java框架和開發(fā)人員工具集成,以快速開發(fā)和部署應(yīng)用。Quarkus可以幫助您運(yùn)行處理無服務(wù)器、微服務(wù)、容器、Kubernetes或混合云中其他應(yīng)用程序類型的Java應(yīng)用。
Quarkus理念
Quarkus旨在為傳統(tǒng)的Java虛擬機(jī)運(yùn)行時(shí)(如OpenJDK)生成緊湊而高效的應(yīng)用,并且可以生成原生可執(zhí)行二進(jìn)制文件以實(shí)現(xiàn)更大的優(yōu)化。不過,關(guān)鍵是在構(gòu)建階段做盡可能多的前期工作,這在應(yīng)用的生命周期中只發(fā)生一次。
在構(gòu)建階段,Quarkus首先將應(yīng)用編譯成傳統(tǒng)的Java字節(jié)碼、加載和解析配置、處理注釋、構(gòu)建框架元模型,并將它們?nèi)窟B接到一個(gè)傳統(tǒng)的可執(zhí)行Java應(yīng)用程序(JAR文件)中。在運(yùn)行時(shí)——應(yīng)用啟動時(shí)——執(zhí)行這些步驟不需要任何內(nèi)存、CPU或時(shí)間,這大大減少了啟動時(shí)間。
原生編譯
Quarkus應(yīng)用可以編譯為原生可執(zhí)行文件,以提高效率。使用Mandrel(GraalVM的下游發(fā)行版),分析應(yīng)用程序以查找“死代碼”(在運(yùn)行時(shí)永遠(yuǎn)不會訪問的代碼路徑),并從應(yīng)用可執(zhí)行文件中消除它。這讓小型輕量級可運(yùn)行應(yīng)用在數(shù)十毫秒內(nèi)啟動,并在運(yùn)行時(shí)僅需要數(shù)十兆字節(jié)的內(nèi)存。
微信掃碼關(guān)注公眾號
獲取更多考試熱門資料