微服務學習歸納

寫在最前

? ? ? ? 照例嘮幾句乔外,從《代碼整潔之道》就認識了Martin凤粗,也拜讀他的博客考赛,從他提起微服務就一直挺有興趣惕澎,沒能抽出時間來實戰(zhàn)寫一個練手項目,今年開年后終于各種雜事都告一段落颜骤,開始慢慢啃書啃博文就商城題材寫一個項目唧喉。項目丟github寫了一半,又要生活所迫找工作忍抽,在這里先對之前學習的內(nèi)容做一下歸納總結八孝。


概念

? ? ? ?微服務架構有別于傳統(tǒng)架構將所有功能放在一個解決方案中發(fā)布,它將功能分解成一系列松耦合的服務鸠项,這些服務通過某種協(xié)議進行互相協(xié)作完成原單體架構下的業(yè)務功能干跛,提供了更靈活的布署模式,更容易擴展锈锤,降低開發(fā)運維復雜度驯鳖。所以微服務的核心理念是分治。

? ? ? ?微服務架構將應用功能分而治之久免,使得架構上有如下優(yōu)點:1.松耦合:降低系統(tǒng)內(nèi)部重構變動對用戶的影響浅辙。2.抽象:改變某個服務的數(shù)據(jù)只依賴該服務的接口,每個服務對數(shù)據(jù)有絕對控制權阎姥,方便對數(shù)據(jù)進行控制记舆。3.獨立和更高的可用性:各個服務可以分開打包發(fā)布,獨立上下線呼巴,不影響其他服務泽腮。

? ? ? ?當然微服務也有部分缺點,比如說:1.分布式事務問題:用戶請求業(yè)務涉及多個微服務保障一致性衣赶,比如說下單涉及到訂單诊赊、商品是否可用、庫存是否充足等府瞄。2.全能對象難以拆解:訂單就是一個涉及多方的對象碧磅。3.系統(tǒng)更復雜:加大了學習難度和服務編排治理,依賴較大的服務一旦掛了會造成系統(tǒng)雪崩遵馆。

微服務拆分原則

? ? ? ? 我把拆分規(guī)則作為一個重點板塊來歸納鲸郊,因為這是微服務架構中最重要的一點,一旦沒能遵守規(guī)則拆分货邓,最后只會成為套了一份微服務殼子的單體系統(tǒng)集合秆撮。一般地,我們遵循兩條原則(出自《敏捷軟件開發(fā):原則换况、模式與實踐》):1.單一職責原則:原文中指一個類應該只有一個職責职辨,不應該有更多改變類形態(tài)的原因盗蟆。推理到微服務中就是微服務應該有且只有一個職責,以免造成業(yè)務之間的高耦合使業(yè)務改變時埋下不穩(wěn)定因素拨匆。2.共同封閉原則:共同封閉原文是指一個變化如果對一個封閉包產(chǎn)生變化姆涩,則將對該包所有的類產(chǎn)生影響,而不影響其他包惭每。歸納到微服務就是骨饿,我們應該將業(yè)務上聯(lián)系緊密、會因為同一個原因改變的服務放在一個微服務台腥『曜福總結下來就是將業(yè)務關聯(lián)較高的服務放在一起,除此之外全部拆分黎侈。比如說在某些應用可以根據(jù)業(yè)務將用戶服務放在一起察署,但是應用中如果有用戶服務關聯(lián)不緊密的情況也可以拆分用戶服務、拆分為登錄注冊服務等峻汉。

微服務基本構成

? ? ? 微服務架構一般會有以下幾種非功能性微服務:

? ? ? ?1.服務治理微服務贴汪,用以服務發(fā)現(xiàn)、服務注冊休吠、服務治理等扳埂。

? ? ? ?2.服務統(tǒng)一入口:用以統(tǒng)一轉發(fā)到各個服務的統(tǒng)一入口

? ? ? ?3.權限管理服務:用以管理微服務對外接口的權限驗證

? ? ? ?4.性能監(jiān)控服務:用以監(jiān)控各個微服務的健康度

? ? ? ?除了以上還有一些非功能性微服務,這里就不一一列舉了瘤礁。

微服務和SOA對比

SOA是面向服務的架構阳懂,通常是松耦合的,它將服務進行拆分柜思,通過ESB進行交互和消息調(diào)用岩调,一般地,還是整個項目級別拆分赡盘,大家用的還是相同的開發(fā)語言号枕、數(shù)據(jù)庫。

微服務則是在SOA基礎上升華陨享,每個服務都是獨立并存的葱淳,它可以是不同開發(fā)語言、不同數(shù)據(jù)庫只需要遵守同一個交互協(xié)議就可以進行互相調(diào)用霉咨。


寫在最后

? ? ? ? 對微服務的概念理解還是比較淺薄蛙紫,可能從實踐項目上更能學到東西吧拍屑,我會繼續(xù)寫那個github的練手項目的途戒。學習微服務的過程中,我參考Martin Fawler的博文僵驰、《Spring Cloud 微服務架構開發(fā)實戰(zhàn)》等資料喷斋,都是非常好的學習資料唁毒。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市星爪,隨后出現(xiàn)的幾起案子浆西,更是在濱河造成了極大的恐慌,老刑警劉巖顽腾,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件近零,死亡現(xiàn)場離奇詭異,居然都是意外死亡抄肖,警方通過查閱死者的電腦和手機久信,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漓摩,“玉大人裙士,你說我怎么就攤上這事」鼙校” “怎么了腿椎?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夭咬。 經(jīng)常有香客問我啃炸,道長,這世上最難降的妖魔是什么皱埠? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任肮帐,我火速辦了婚禮,結果婚禮上边器,老公的妹妹穿的比我還像新娘训枢。我一直安慰自己,他們只是感情好忘巧,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布恒界。 她就那樣靜靜地躺著,像睡著了一般砚嘴。 火紅的嫁衣襯著肌膚如雪十酣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天际长,我揣著相機與錄音耸采,去河邊找鬼。 笑死工育,一個胖子當著我的面吹牛虾宇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播如绸,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘱朽,長吁一口氣:“原來是場噩夢啊……” “哼旭贬!你這毒婦竟也來了?” 一聲冷哼從身側響起搪泳,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤稀轨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后岸军,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奋刽,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年艰赞,在試婚紗的時候發(fā)現(xiàn)自己被綠了杨名。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡猖毫,死狀恐怖台谍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吁断,我是刑警寧澤趁蕊,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站仔役,受9級特大地震影響掷伙,放射性物質發(fā)生泄漏。R本人自食惡果不足惜又兵,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一任柜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沛厨,春花似錦宙地、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至电谣,卻和暖如春秽梅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剿牺。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工企垦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晒来。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓钞诡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子臭增,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

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