【Quarkus技術(shù)系列】「云原生架構(gòu)體系」在云原生時(shí)代下的Java“拯救者”是Quarkus菇怀,那云原生是什么呢?

云原生時(shí)代下的Java“拯救者”

在云原生時(shí)代晌块,其實(shí)Java程序是有很大的劣勢(shì)的爱沟,以最流行的spring boot/spring cloud微服務(wù)框架為例,啟動(dòng)一個(gè)已經(jīng)優(yōu)化好匆背,很多bean需要lazy load的application至少需要3-4秒時(shí)間呼伸,內(nèi)存需要幾百M(fèi),業(yè)務(wù)邏輯稍微復(fù)雜一點(diǎn)點(diǎn)钝尸,沒有1G以上的內(nèi)存是很難滿足業(yè)務(wù)的需要呢括享?

image

在討論夸克斯(Quarkus)之前,我們先了解一下什么是云原生珍促。為什么說下一代Java云原生服務(wù)就是Quarkus铃辖?

云原生架構(gòu)簡介

Cloud Native(云原生),這是一個(gè)既陌生又熟悉的名詞踢星,它是Matt Stine提出的一個(gè)概念澳叉,它是一個(gè)思想的集合隙咸,包括:DevOps、持續(xù)交付(Continuous Delivery)成洗、微服務(wù)(MicroServices)五督、敏捷基礎(chǔ)設(shè)施(Agile Infrastructure)、康威定律(Conways Law)等瓶殃。

image

Cloud Native(云原生)準(zhǔn)確來說也是一種文化充包,更是一種潮流,它是云計(jì)算的一個(gè)必然導(dǎo)向遥椿,意義在于讓云成為云化戰(zhàn)略成功的基石基矮,而不是障礙。

Cloud Native(云原生)的特點(diǎn)和方面:

  • 技術(shù)(微服務(wù)冠场,敏捷基礎(chǔ)設(shè)施)
  • 管理(DevOps家浇,持續(xù)交付,康威定律碴裙,重組等)

Cloud Native也可以說是一系列Cloud技術(shù)钢悲、企業(yè)管理方法的集合。

Cloud Native(云原生)的定義和概念

Cloud Native(云原生)是更好的工具舔株、自我修復(fù)系統(tǒng)莺琳、和自動(dòng)化系統(tǒng)的集合,可以讓應(yīng)用和基礎(chǔ)設(shè)施的部署和故障修復(fù)更加快速和敏捷载慈,極大的降低企業(yè)在云計(jì)算方面的部署成本惭等。

目前業(yè)界公認(rèn)的云原生主要包括以下幾個(gè)層面的內(nèi)容。

image
  • 容器办铡,服務(wù)網(wǎng)格辞做,微服務(wù),不可變的基礎(chǔ)設(shè)施料扰,公開的API都接近云原生相關(guān)概念凭豪。

  • 云原生技術(shù)可以讓系統(tǒng)松耦合,支持彈性伸縮晒杈、可管理的、清晰的孔厉。

隨著容器拯钻、kubernetes、Serverless撰豺、FaaS技術(shù)的演進(jìn)粪般,CNCF(Cloud Native Computing Foundation ,云原生計(jì)算基金會(huì))把云原生的概念更廣泛地定義為“讓應(yīng)用更有彈性污桦、容錯(cuò)性亩歹、觀測(cè)性的基礎(chǔ)技術(shù),讓應(yīng)用更容易部署、管理的基礎(chǔ)軟件小作、讓應(yīng)用更容易編寫亭姥、編排的運(yùn)行框架等”,希望能夠讓開發(fā)者最好的利用云的資源顾稀、產(chǎn)品和交付能力达罗。

云原生的發(fā)展歷程

  • 2004 年 ~ 2007 年,Google 已在內(nèi)部大規(guī)模地使用像 Cgroups 這樣的容器技術(shù)静秆;
  • 2008 年粮揉,Google 將 Cgroups 合并進(jìn)入了 Linux 內(nèi)核主干。
  • 2013 年抚笔,Docker 項(xiàng)目正式發(fā)布扶认。
  • 2014 年,Kubernetes 項(xiàng)目也正式發(fā)布殊橙。
    • Kubernetes項(xiàng)目發(fā)布的原因也非常容易理解辐宾,因?yàn)橛辛巳萜骱?Docker 之后,就需要有一種方式去幫助大家方便蛀柴、快速螃概、優(yōu)雅地管理這些容器,這就是 Kubernetes 項(xiàng)目的初衷鸽疾。在 Google 和 Redhat 發(fā)布了 Kubernetes 之后吊洼,這個(gè)項(xiàng)目的發(fā)展速度非常之快。
  • 2015 年制肮,CNCF 成立冒窍。
    • 由 Google、Redhat 以及微軟等大型云計(jì)算廠商以及一些開源公司共同牽頭成立了 CNCF 云原生基金會(huì)豺鼻。CNCF 成立之初综液,就有 22 個(gè)創(chuàng)始會(huì)員,而且 Kubernetes 也成為了 CNCF 托管的第一個(gè)開源項(xiàng)目儒飒。
  • 2017 年谬莹,CNCF 達(dá)到 170 個(gè)成員和 14 個(gè)基金項(xiàng)目。
  • 2018 年桩了,CNCF 成立三周年有了 195 個(gè)成員附帽,19 個(gè)基金會(huì)項(xiàng)目和 11 個(gè)孵化項(xiàng)目,如此之快的發(fā)展速度在整個(gè)云計(jì)算領(lǐng)域都是非常罕見的井誉。

云原生技術(shù)生態(tài)現(xiàn)狀

因此蕉扮,如今我們所討論的云原生技術(shù)生態(tài)是一個(gè)龐大的技術(shù)集合。CNCF 有一張?jiān)圃皥D(https://github.com/cncf/landscape)颗圣,在這個(gè)全景圖里已經(jīng)有 200 多個(gè)項(xiàng)目和產(chǎn)品了喳钟,這些項(xiàng)目和產(chǎn)品也都是和 CNCF 的觀點(diǎn)所契合的屁使。所以如果以這張全景圖作為背景,加以思考就會(huì)發(fā)現(xiàn)奔则,我們今天所討論的云原生其實(shí)主要談?wù)摿艘韵聨c(diǎn):

云原生基金會(huì) —— CNCF

CNCF是目前云計(jì)算領(lǐng)域最成功的開源基金會(huì)之一蛮寂,是 Kubernetes、 etcd应狱、Envoy 等知名開源項(xiàng)目的托管基金會(huì)共郭。

云原生技術(shù)社區(qū)

比如像 CNCF 目前正式托管的多個(gè)項(xiàng)目共同構(gòu)成了現(xiàn)代云計(jì)算生態(tài)的基石,其中像 Kubernetes這樣的項(xiàng)目已經(jīng)成為了世界首屈一指疾呻,非吵冢活躍的開源項(xiàng)目;目前從 CNCF 畢業(yè)的項(xiàng)目有很多岸蜗,例如Kubernetes 尉咕、Prometheus、Envoy璃岳、CoreDNS年缎、containerd、Fluentd 铃慷。

云原生服務(wù)架構(gòu)的原則

高可用架構(gòu)設(shè)計(jì)的原則

  • 可觀測(cè):可以通過運(yùn)行狀態(tài)和數(shù)據(jù)分析单芜,實(shí)現(xiàn)可觀測(cè)模式下的運(yùn)行狀態(tài)和運(yùn)行數(shù)據(jù)分析。

  • 可灰度:可以實(shí)現(xiàn)藍(lán)綠發(fā)布犁柜、AB測(cè)試洲鸠、金絲雀發(fā)布機(jī)制等,實(shí)現(xiàn)數(shù)據(jù)服務(wù)的流量控制馋缅。

  • 可回滾:可以實(shí)現(xiàn)服務(wù)的fallback和reback回滾方式扒腕。

提高架構(gòu)可用性的設(shè)計(jì)原則

  • 解耦:消息隊(duì)列、分布式隊(duì)列萤悴、服務(wù)拆分

  • 冗余:異地容災(zāi)瘾腰、多點(diǎn)部署、主從切換

  • 異構(gòu):sidercar模式進(jìn)行分析和實(shí)現(xiàn)

  • 異步:消息隊(duì)列覆履、異步調(diào)用蹋盆、響應(yīng)式編程

微服務(wù)設(shè)計(jì)原則

盜用官方圖片一個(gè):

image
原則一:完整性

功能完整性:功能內(nèi)部邏輯獨(dú)立,外部依賴較少硝全。

微服務(wù)完整性:服務(wù)里面的每個(gè)微服務(wù)都應(yīng)能獨(dú)立完成具體的業(yè)務(wù)操作或者流程怪嫌,都有明確的輸入、輸出和處理邏輯柳沙。

原則二:技術(shù)限制

需要使用事務(wù)一致性的功能需要放在一個(gè)微服務(wù)內(nèi),盡量避免分布式事務(wù)問題拌倍。

原則三:性能擴(kuò)展

對(duì)于用戶使用頻率較高赂鲤,性能要求較高的功能可單獨(dú)作為一個(gè)微服務(wù)噪径,以便做多節(jié)點(diǎn)擴(kuò)展提升性能。

原則四:耦合性

微服務(wù)和微服務(wù)之間盡量避免相互調(diào)用依賴数初≌野可以通過 RPC 遠(yuǎn)程調(diào)用接口的方式,對(duì)于關(guān)聯(lián)性較高的功能泡孩,應(yīng)放在同一個(gè)微服務(wù)內(nèi)车摄。

公共使用的功能可設(shè)計(jì)在一個(gè)公共微服務(wù)。比如日志功能仑鸥,文件上傳功能以及一些底層技術(shù)組件等吮播,可設(shè)計(jì)在一個(gè)微服務(wù)中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末眼俊,一起剝皮案震驚了整個(gè)濱河市意狠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疮胖,老刑警劉巖吊宋,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎巢,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)怠硼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撇眯,“玉大人挟冠,你說我怎么就攤上這事」遥” “怎么了创泄?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長括蝠。 經(jīng)常有香客問我鞠抑,道長,這世上最難降的妖魔是什么忌警? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任搁拙,我火速辦了婚禮,結(jié)果婚禮上法绵,老公的妹妹穿的比我還像新娘箕速。我一直安慰自己,他們只是感情好朋譬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布盐茎。 她就那樣靜靜地躺著,像睡著了一般徙赢。 火紅的嫁衣襯著肌膚如雪字柠。 梳的紋絲不亂的頭發(fā)上探越,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音窑业,去河邊找鬼钦幔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛常柄,可吹牛的內(nèi)容都是我干的鲤氢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼西潘,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼卷玉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秸架,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤揍庄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后东抹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚂子,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有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
  • 文/蒙蒙 一买喧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匆赃,春花似錦淤毛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春查牌,著一層夾襖步出監(jiān)牢的瞬間事期,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工纸颜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绎橘。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓胁孙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親称鳞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涮较,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn)冈止,但是人生放棄了冒險(xiǎn)狂票,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 6,038評(píng)論 0 4
  • 公元:2019年11月28日19時(shí)42分農(nóng)歷:二零一九年 十一月 初三日 戌時(shí)干支:己亥乙亥己巳甲戌當(dāng)月節(jié)氣:立冬...
    石放閱讀 6,875評(píng)論 0 2