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

上一篇: liunx怎么復制東西