Red Hat 開源 Quarkus 1.0:Java 已為雲原生時代做好了準備
- 2019 年 11 月 14 日
- 筆記
最近,Red Hat 開源了 Quarkus 1.0 項目,這標誌著其在為 Kubernetes 提供 Java 實例上取得了一個里程碑。
Red Hat 工程部副總裁 Mark Little 說,Quarkus 1.0 通過減小 Java 虛擬機(JVM) 的大小,為在 Kubernetes 上構建和部署 Java 應用程式提供了一種更有效的方法。現在使用的 JVM 是假設 JVM 包含了「一次編碼隨處部署所需」的程式碼。然而,在容器環境中,可移植性問題是由 Docker 容器和 Kubernetes 來解決的。Little 指出,這為縮小 JVM 創造了機會,從而使運行在 Kubernetes 上的 Java 應用程式可以運行得更快。

Quarkus 的最新版本以 Vert.x 的形式增加了對反應式編程模型的支援,Vert.x 是 Eclipse 基金會(Eclipse Foundation)的一個工具包,它使得在使用非同步數據流時可以構建更具彈性的應用程式成為可能。
Quarkus 1.0 還利用 Vert.x 為 Java 程式實現了一個全新的非阻塞安全層,此外它還改進了與
應用程式編程介面(API)框架的兼容性,該 API 框架可與 Spring 框架一起用於構建 Java 應用程式。
最後,Quarkus 1.0 還增加了在 JVM 上使用 Quarkus 時對 Java 8、11 和 13 的支援,並且它還計劃在不久的將來支援 Java 11 的本地編譯。
Quarkus 已經提供了對 Java 框架和庫的支援,比如 Eclipse Microprofile、Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、上下文和依賴注入(CDI)、Infinispan 和 Camel。它還包含了用於觀察服務間流量模式的 MicroProfile OpenTracing ,以及用於將 JVM、Quarkus 運行時和自定義應用程式度量指標暴露給諸如 Prometheus 之類容器監控平台的 MicroProfile Metrics。
考慮到有大量的開發人員使用 Java 來構建企業級應用程式,Little 認為雲原生平台必須與 Java 緊密集成。以 Jakarta 形式監督 Java 開發的 Eclipse 基金會已經開始致力於將 Che 集成開發環境(IDE)引入到 Kubernetes 中了。Red Hat 目前正在開發的 Quarkus 項目是獨立於 Eclipse 基金會的,並且目前還不清楚還有多少其他供應商會支援 Quarkus。然而,在 IBM 收購 Red Hat 之後,Quarkus 很有可能會吸引 Java 社區中某些子項目的注意,隨著 Java 以開源的形式出現,這方面的創新速度正在加快。當然,所面臨的挑戰是如何在創新和所有 Java 變體的向後兼容性之間取得平衡。
在構建容器化應用程式時,很顯然會有很多程式語言選項。然而,Little 認為大多數企業開發人員更願意使用他們已經了解的 Java 語言來構建容器化的應用程式。Red Hat 斷言,Kubernetes 平台可以使那些容器化的 Java 應用程式運行得更快,這對企業 IT 組織來說將是最具吸引力的地方。