Quarkus:一個(gè) Kubernetes 原生 Java 框架

Red Hat 發(fā)布了 Quarkus,這是一個(gè)為 GraalVM 和 OpenJDK HotSpot 量身定制的 Kubernetes 原生 Java 框架捂龄。Quarkus 的目標(biāo)是使 Java 成為 Kubernetes 和無(wú)服務(wù)器環(huán)境中的領(lǐng)先平臺(tái)止后,為開(kāi)發(fā)人員提供統(tǒng)一的反應(yīng)式和命令式編程模型卵渴。

Quarkus 利用 Java 開(kāi)發(fā)人員使用的一系列庫(kù)垦江,如 Eclipse MicroProfile 和 Vert.x姑躲,帶來(lái)了一個(gè)全椓寐梗框架谦炬。Quarkus 依賴注入基于 CDI,允許開(kāi)發(fā)人員使用 JPA/Hibernate节沦、JAX-RS/RESTEasy 等键思。此外,Quarkus 還包含一個(gè)擴(kuò)展框架甫贯,第三方框架作者可以利用該框架對(duì)其進(jìn)行擴(kuò)展稚机;這個(gè)擴(kuò)展框架同時(shí)還編譯成了一個(gè) GraalVM 原生二進(jìn)制文件。

RedHat 表示获搏,Quarkus 提供了可觀的運(yùn)行時(shí)效率赖条,比如快速啟動(dòng),支持在容器和 Kubernetes 上自動(dòng)伸縮微服務(wù)常熙,而低內(nèi)存利用率有助于優(yōu)化微服務(wù)體系結(jié)構(gòu)部署中的容器密度纬乍。同時(shí),它還提供了更小的應(yīng)用程序和容器鏡像空間占用裸卫。

按照設(shè)計(jì)仿贬,Quarkus 完美地引入了命令式和反應(yīng)式模型,旨在讓熟悉命令式模型但不想學(xué)習(xí)新范式的 Java 開(kāi)發(fā)人員以及采用云原生 / 反應(yīng)式模型方法的開(kāi)發(fā)人員快速采用墓贿。
命令式風(fēng)格:

@Inject
SayService say;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
    return say.hello();
}
反應(yīng)式風(fēng)格:
@Inject @Stream("kafka")
Publisher reactiveSay;
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
public Publisher stream() {
    return reactiveSay;
}

也可以使用 Quarkus 實(shí)現(xiàn)在無(wú)服務(wù)器環(huán)境中使用的函數(shù)茧泪,比如蜓氨,下面是一個(gè) AWS Lambda 的例子:

public class HelloLambda implements RequestHandler {
    @Inject
    HelloGreeter greeter;
    @Override
    public String handleRequest(HelloRequest request, Context context) {
        return greeter.greet(request.firstName, request.lastName);
    }
}

Quarkus 被設(shè)計(jì)成少配置或無(wú)配置,其工作方式很直觀队伟。為此穴吹,開(kāi)發(fā)人員可以用以下工具構(gòu)建一個(gè)新項(xiàng)目:

mvn io.quarkus:quarkus-maven-plugin:0.12.0:create \
-DprojectGroupId=my-groupId \
-DprojectArtifactId=my-artifactId \
-DprojectVersion=my-version \
-DclassName="org.my.group.MyResource"

Quarkus 還提供了“在線編碼(Live Coding)”功能,使開(kāi)發(fā)人員避免了編寫(xiě)代碼→編譯→部署→刷新瀏覽器→重復(fù)的枯燥過(guò)程嗜侮。運(yùn)行 mvn compile quarkus:dev港令,Quarkus 將在開(kāi)發(fā)模式下啟動(dòng)。當(dāng)它接收到 HTTP 請(qǐng)求時(shí)锈颗,它將保存該請(qǐng)求并檢查是否更改了任何應(yīng)用程序源文件顷霹。如果有,它將透明地編譯更改的文件击吱,重新部署應(yīng)用程序淋淀,然后將 HTTP 請(qǐng)求發(fā)送給重新部署的應(yīng)用程序。

Quarkus 似乎至少是云時(shí)代一個(gè)有趣的替代方案覆醇。在這個(gè)時(shí)代绅喉,容器、Kubernetes叫乌、微服務(wù)、函數(shù)即服務(wù)(FaaS)和云原生應(yīng)用程序正在提供更高級(jí)別的生產(chǎn)力和效率徽缚。

要了解關(guān)于 Quarkus 的更多細(xì)節(jié)憨奸,請(qǐng)?jiān)L問(wèn) quarkus.io。想要開(kāi)始使用 Quarkus 的開(kāi)發(fā)人員可以查看入門(mén)指南或其他可用的指南凿试。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末排宰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子那婉,更是在濱河造成了極大的恐慌板甘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件详炬,死亡現(xiàn)場(chǎng)離奇詭異盐类,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)呛谜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)在跳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人隐岛,你說(shuō)我怎么就攤上這事猫妙。” “怎么了聚凹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵割坠,是天一觀的道長(zhǎng)齐帚。 經(jīng)常有香客問(wèn)我,道長(zhǎng)彼哼,這世上最難降的妖魔是什么对妄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮沪羔,結(jié)果婚禮上饥伊,老公的妹妹穿的比我還像新娘。我一直安慰自己蔫饰,他們只是感情好琅豆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著篓吁,像睡著了一般茫因。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杖剪,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天冻押,我揣著相機(jī)與錄音,去河邊找鬼盛嘿。 笑死洛巢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的次兆。 我是一名探鬼主播稿茉,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芥炭!你這毒婦竟也來(lái)了漓库?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤园蝠,失蹤者是張志新(化名)和其女友劉穎渺蒿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體彪薛,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茂装,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了善延。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片训唱。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖挚冤,靈堂內(nèi)的尸體忽然破棺而出况增,到底是詐尸還是另有隱情,我是刑警寧澤训挡,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布澳骤,位于F島的核電站歧强,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏为肮。R本人自食惡果不足惜摊册,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颊艳。 院中可真熱鬧茅特,春花似錦、人聲如沸棋枕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)重斑。三九已至兵睛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窥浪,已是汗流浹背祖很。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留漾脂,地道東北人假颇。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像骨稿,于是被迫代替她去往敵國(guó)和親笨鸡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容