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