20歲的Java,為云原生做好準備
在過去的十年中,企業IT領域已經從大型的單一應用過渡到了更輕巧,更模塊化的應用體系架構。Java EE是創建傳統企業應用的重要因素,因此也需要與時俱進。Quarkus的問世為企業Java帶來了光明的未來。
二十年來,Java在行業編程語言排名中一直保持強勢地位。這在很大程度上是我們在企業Java中,看到其不斷重塑的結果,這表明Java可以避免其他“傳統”技術的命運。
在過去的十年中,企業IT領域已經從大型的單片應用程序過渡到了更輕巧,更模塊化的應用程序體系結構。Java EE是創建傳統企業應用的重要因素,因此也需要與時俱進。
為此,Java社區在2016年共同開發了MicroProfile(現已成為Eclipse Foundation的一部分)。它能夠幫助在云原生應用程序開發的新時代為微服務架構優化企業Java。MicroProfile現在已經相當完善,并考慮了開發人員的需求,同時仍使Java發揮了重要作用。
同時,Java EE也已遷移到新品牌:Jakarta EE。它背后的強大社區的目標是使用許多供應商提供的規范來加速企業Java,特別是云計算領域進一步創新的開發。Jakarta EE仍然需要站穩腳跟,但與Eclipse MicroProfile的合作潛力巨大。
Java對運行高度動態的整體式應用程序進行了二十年的優化,這些應用程序完全擁有虛擬化主機CPU和內存。但是,到2020年,世界將由云,移動,物聯網和開源主導,其中的容器,Kubernetes,微服務,反應式,功能即服務(FaaS)和云原生應用程序開發人員正在提供前所未有的生產力和效率。
結果,需要重新考慮如何很好地利用Java來解決這些新的部署環境和應用程序體系架構。
增強的Java生態系統
云原生方法的復雜性不在于應用程序,而在于它們之間的通信以及管理和監控。這些是Java生態系統需要解決的問題。但是,成熟的Java社區一直在努力填補云計算時代出現的空白,并為企業Java創造光明的未來。
Java語言已經有了一些改進,例如功能特性以及引入了模塊化的Jigsaw項目。這樣,我們可以創建可以輕松擴展的更輕薄的Java應用程序。此外,Java發行現在每年兩次,這有助于促進Java平臺的更快發展。
新的行動和計劃無疑改善了該平臺,并促進了解決方案向著云原生Java的發展。其中包括Quarkus,這是使用同類優秀的Java庫和標準制作的Kubernetes原生Java堆棧,具有快速啟動時間,極低的RSS內存利用率,還可以在容器編排平臺(如Kubernetes)中實現即時擴展。
Quarkus使Java的前景光明
Quarkus有潛力使Java成為Kubernetes和無服務器環境中的領先平臺,同時為開發人員提供統一的響應式和命令式編程模型,以很好地解決廣泛的分布式應用程序體系架構。
大多數Java開發人員都熟悉命令式編程模型,并希望在采用新平臺時利用這種經驗。同時,開發人員正在迅速采用云原生,事件驅動,異步和響應式模型來滿足業務需求,以構建高度并發和響應迅速的應用程序。Quarkus能夠將兩個模型無縫集成在同一平臺上,從而在企業內發揮強大的杠桿作用。
Quarkus為在無服務器,微服務,容器,Kubernetes,FaaS和云的新世界中運行Java提供了有效的解決方案,因為在設計時就考慮到了這些。它還提供了一組可擴展的基于標準的企業Java庫和框架,并結合了極高的開發人員生產力,有望徹底改變我們用Java開發的方式。
使用Quarkus,我們相信Java可以更好地適應現代應用程序開發領域的需求,同時也可以更快地進行改進。
Java開發人員能夠使用Quarkus來構建具有比傳統的基于Java的微服務框架更快的啟動時間并占用更少內存的應用程序。Quarkus包括靈活且易于使用的API,這些API使開發人員能夠構建云原生應用程序,以及大多數開發人員已經熟悉的領先框架。
由于最近的創新,可以說企業Java的正重新走上過去的輝煌之路。大量的Java廠商,項目和個人社區將啟發該平臺在未來許多年內發展和增強工作負載。