Java:Java中的微服務(wù)
如果你想使用Java中的云原生微服務(wù)快速實(shí)現(xiàn)大規(guī)??蓴U(kuò)展性,那么不需要重新發(fā)明輪子。一些創(chuàng)新工具可以幫助你。通過(guò)Java培訓(xùn)課程,在Java(軟件開(kāi)發(fā)中最常用的編程語(yǔ)言)方面打下堅(jiān)實(shí)的基礎(chǔ),更好地進(jìn)行開(kāi)發(fā)工作。
分析人士認(rèn)為,微服務(wù)是一種持續(xù)的趨勢(shì),很快就會(huì)達(dá)到全新的維度。在云構(gòu)建的微服務(wù)時(shí)代,應(yīng)用程序開(kāi)發(fā)人員面臨著越來(lái)越大的壓力,要實(shí)現(xiàn)比Java中的單片應(yīng)用程序更高的生產(chǎn)力和效率。
幸運(yùn)的是,對(duì)于單片Java應(yīng)用程序的開(kāi)發(fā)人員來(lái)說(shuō),啤酒花和麥芽還沒(méi)有消失。因?yàn)樵圃⒎?wù)的彈性可伸縮性也可以在Java中實(shí)現(xiàn)——唯一的問(wèn)題是使用哪些工具。
使用Spring Boot的Java微服務(wù)
Spring是目前最流行的Java應(yīng)用程序開(kāi)發(fā)框架,它提供了一些最強(qiáng)大的微服務(wù)開(kāi)發(fā)工具。其中之一是Spring Boot,這是一個(gè)用于云原生應(yīng)用程序架構(gòu)的項(xiàng)目初始化框架。
Spring框架的特別亮點(diǎn)包括成熟的依賴注入和IoC(控制反轉(zhuǎn))。盡管大多數(shù)開(kāi)發(fā)人員仍然依賴Spring框架,Helidon SE、JRebel和XRebel、Ktor、Micronaut.io和Quarkus提供了一些非常有趣的替代方案。
隔離微服務(wù)消除了舊的單片Java應(yīng)用程序的嚴(yán)格限制。雖然單片應(yīng)用程序架構(gòu)要求所有開(kāi)發(fā)人員使用相同的技術(shù),但這對(duì)于微服務(wù)來(lái)說(shuō)既沒(méi)有必要也沒(méi)有意義。
Micronaut
Micronaut是一個(gè)基于JVM的全棧框架,用于開(kāi)發(fā)微服務(wù)和無(wú)服務(wù)器應(yīng)用程序。它是由Grails的開(kāi)發(fā)人員編寫(xiě)的,Grails是一個(gè)基于groovy的JVM框架,依賴于Spring Boot。Micronaut借用了Grails和Spring。它支持Java以及Kotlin和Groovy。
Micronaut的開(kāi)發(fā)人員已嘗試將系統(tǒng)需求降至最低。為此,僅在編譯時(shí)插入依賴項(xiàng),這導(dǎo)致與Spring Boot相比內(nèi)存消耗顯著降低,從而加快應(yīng)用程序的啟動(dòng)。

JRebel和XRebel
JVM插件JRebel跳過(guò)Rebuild和Redeploy步驟,在不改變應(yīng)用程序狀態(tài)的情況下實(shí)時(shí)交付代碼更改。Java培訓(xùn)課程結(jié)構(gòu)良好,以正確的順序涵蓋了java的基本知識(shí),使你的學(xué)習(xí)更加輕松。
為了實(shí)時(shí)監(jiān)控基于微服務(wù)的應(yīng)用程序的運(yùn)行時(shí)性能,除了JRebel之外,開(kāi)發(fā)人員還可以參考JVM插件XRebel。
Quarkus
Quarkus是Red Hat提供的Kubernetes本機(jī)Java框架,專為OpenJDK HotSpot Runtime和Oracles GraalVM定制。
Red Hat的目標(biāo)是:“使Java成為Kubernetes和無(wú)服務(wù)器環(huán)境中的領(lǐng)先平臺(tái)”,具有統(tǒng)一的反應(yīng)式和命令式編程模型,以優(yōu)化解決“更廣泛的”分布式應(yīng)用程序架構(gòu)Quarkus構(gòu)建在JDK版本8的基礎(chǔ)上,也理解Kotlin,這是Google首選的JetBrains Java替代方案。Quarkus支持3.5.3和Gradle的Apache Maven。
Sourcetail
Sourcetrail是開(kāi)源交互式源代碼瀏覽器。這個(gè)強(qiáng)大的工具使開(kāi)發(fā)人員更容易快速學(xué)習(xí)外國(guó)代碼,并在許多地方證明了它在重構(gòu)整體Java應(yīng)用程序方面的作用。
Sourcetail在所有領(lǐng)先的IDE和/或其他應(yīng)用程序中支持Java、C/C++和Python。代碼編輯器,包括IntelliJ IDEA、Visual Studio、Visual Studio Code、Eclipse等。它以交互式、動(dòng)態(tài)生成的代碼映射的形式,可視化任何選定類型、函數(shù)或變量與代碼庫(kù)的其余部分之間的關(guān)系。
除了已經(jīng)非常直觀的代碼可視化之外,Sourcetail還顯示了相關(guān)的代碼片段,以立即澄清連接。廣泛的代碼搜索完成了服務(wù)范圍。
結(jié)論
Java,尤其是使用Spring Boot等適當(dāng)?shù)墓ぞ吆涂蚣?,在微服?wù)方面可以勝過(guò)其他語(yǔ)言。Java風(fēng)格的微服務(wù)架構(gòu)的優(yōu)點(diǎn)在于能夠在不犧牲堅(jiān)實(shí)代碼基礎(chǔ)的情況下嘗試其他技術(shù)。