我也想寫篇微服務(wù)的文章拿穴,以及微服務(wù)的優(yōu)缺點

什么是微服務(wù)

首先,微服務(wù)不是一個名字忧风,而是一個架構(gòu)的概念默色,就像Restful不僅僅是描述api的格式,而更多的是描述基于Restful API的架構(gòu)是一樣的狮腿。微服務(wù)架構(gòu)(MSA)是對原來的大型系統(tǒng)而言的腿宰,通過橫向或者縱向、業(yè)務(wù)或者架構(gòu)切分缘厢,將一個大型的系統(tǒng)分散成很多微型小系統(tǒng)吃度。當(dāng)系統(tǒng)復(fù)雜到一定程度時,幾十號人共同維護(hù)一個系統(tǒng)的效率很低昧绣,而且出問題的風(fēng)險也很高规肴。這時候就需要對系統(tǒng)進(jìn)行切分,很早之前提出的SOA系統(tǒng),和微服務(wù)的架構(gòu)理念不謀而合拖刃。大家現(xiàn)在使用的基于RPC框架(dubbo删壮、thrift等)的架構(gòu)也可以視為一種微服務(wù)。微服務(wù)到現(xiàn)在為止還沒有確切的邊界和定義兑牡,貌似計算機(jī)上很多概念都定義不出來邊界央碟。但是,我理解微服務(wù)之間的通信是http通信均函,傳統(tǒng)rpc調(diào)用方式并不是嚴(yán)格的微服務(wù)亿虽,因為他不能自理,需要依賴苞也,比如可能必須某個rpc服務(wù)Producer存在的情況下洛勉,rpc服務(wù)的Consumer才能啟動起來。所以如迟,下文中的討論收毫,我都以微服務(wù)之間以http通信為前提。

微服務(wù)有什么好處

解耦:對于我們底層程序員而言殷勘,看得見的好處就是解耦此再。我要實現(xiàn)一個功能,可能并不需要很深入的了解別人的代碼玲销,因為程序員嘛输拇,可能都覺得別人的代碼是個渣渣([哭笑不得])。我可以新作一個微服務(wù)贤斜,這個服務(wù)為其他功能提供服務(wù)策吠,又不依賴于原來已有的功能,至于業(yè)務(wù)邏輯瘩绒,可以一邊上手一邊熟悉

內(nèi)聚奴曙,可以獨立部署:意思就是我維護(hù)的這個微服務(wù),可以獨立部署草讶,對其他服務(wù)不會是強(qiáng)依賴,不會存在因為其他服務(wù)不存在而造成我自己的服務(wù)不能啟動或者不可用的問題

分布式:微服務(wù)架構(gòu)下不存在一個特別大的系統(tǒng)包含很多中心功能炉菲,這樣也能提高容錯性堕战,一個服務(wù)的癱瘓并不會讓整個系統(tǒng)癱瘓

權(quán)限驗證:微服務(wù)是高度內(nèi)聚的服務(wù),我自己的這個服務(wù)拍霜,我可以定制任意合理規(guī)則嘱丢,而這個規(guī)則又只適用于我自己的服務(wù)。相比于dubbo RPC調(diào)用祠饺,http微服務(wù)調(diào)用的權(quán)限驗證可以更直接更嚴(yán)格更定制化越驻,而rpc調(diào)用時的權(quán)限驗證,我個人始終覺得不能做的很優(yōu)雅

數(shù)據(jù)分開治理,自帶分庫屬性:原來的大系統(tǒng)使用一個數(shù)據(jù)庫缀旁,當(dāng)數(shù)據(jù)很多流量很大時记劈,就會涉及到分庫分表。而微服務(wù)下并巍,每個服務(wù)是否使用數(shù)據(jù)庫目木,數(shù)據(jù)庫是和其他服務(wù)公用還是自建,都有很大靈活性懊渡,即我覺得微服務(wù)自帶分庫分表屬性

系統(tǒng)不會被長期限制在某個技術(shù)棧上刽射,在微服務(wù)的架構(gòu)下,整個系統(tǒng)不會受限于java或者nodejs 或者go剃执,而是大家協(xié)同不沖突誓禁,全部http協(xié)議,json格式

各個模塊的單元測試容易自動化

微服務(wù)面臨的挑戰(zhàn)

  • 通信肾档,http請求速度慢摹恰,通常一個操作可能會涉及到多個微服務(wù)的相互調(diào)用,如果為了完成一個操作而多次從服務(wù)端調(diào)用不同的微服務(wù)阁最,http請求的耗時可能會成為瓶頸戒祠,如圖1所示。


    圖1
  • 客戶端與服務(wù)端的通信需要一個 API GateWay:通常情況下速种,客戶端和微服務(wù)們不在一起姜盈,而各個微服務(wù)會集中部署在一個機(jī)房,那微服務(wù)之間的互相調(diào)用是很快速的配阵,但是客戶端和微服務(wù)之間的調(diào)用會是耗時的馏颂。而且,用戶的一個動作不能在客戶端進(jìn)行多次連續(xù)調(diào)用棋傍,這樣一來速度慢救拉,二來會有泄漏系統(tǒng)架構(gòu)的風(fēng)險。
  • 通常情況下瘫拣,在客戶端和微服務(wù)架構(gòu)之間會有一個API GateWay亿絮,如圖1變成圖2所示,GateWay最重要的作用是為客戶端提供后臺服務(wù)的聚合麸拄,提供一個統(tǒng)一的服務(wù)出口派昧,解除他們之間的耦合,為了解決API Gateway單點故障點或者性能瓶頸拢切,通常Gateway也是一個集群蒂萎,而且客戶端的訪問控制、賬號管理淮椰、登錄管理等切面通常會在這里處理五慈。


    圖2
  • 微服務(wù)很多時纳寂,整個鏈路可能很長,調(diào)用失敗的風(fēng)險高泻拦,而且e2e自動化測試會成為一個問題
  • 服務(wù)注冊和服務(wù)發(fā)現(xiàn)毙芜,我司有自己的服務(wù)管理系統(tǒng)。
  • 分布式事務(wù)聪轿,這個是微服務(wù)系統(tǒng)的大難點爷肝,可能需要根據(jù)自己系統(tǒng)的情況和業(yè)務(wù)需求進(jìn)行定制了,我推薦補(bǔ)償性分布式事務(wù)和基于消息的分布式事務(wù)陆错。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灯抛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子音瓷,更是在濱河造成了極大的恐慌对嚼,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绳慎,死亡現(xiàn)場離奇詭異纵竖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)杏愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門靡砌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人珊楼,你說我怎么就攤上這事通殃。” “怎么了厕宗?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵画舌,是天一觀的道長。 經(jīng)常有香客問我已慢,道長曲聂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任佑惠,我火速辦了婚禮朋腋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膜楷。我一直安慰自己乍丈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布把将。 她就那樣靜靜地躺著,像睡著了一般忆矛。 火紅的嫁衣襯著肌膚如雪察蹲。 梳的紋絲不亂的頭發(fā)上请垛,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音洽议,去河邊找鬼宗收。 笑死,一個胖子當(dāng)著我的面吹牛亚兄,可吹牛的內(nèi)容都是我干的混稽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼审胚,長吁一口氣:“原來是場噩夢啊……” “哼匈勋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起膳叨,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤洽洁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后菲嘴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饿自,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年龄坪,在試婚紗的時候發(fā)現(xiàn)自己被綠了昭雌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡健田,死狀恐怖烛卧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抄课,我是刑警寧澤唱星,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站跟磨,受9級特大地震影響间聊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抵拘,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一哎榴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧僵蛛,春花似錦尚蝌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至驼侠,卻和暖如春姿鸿,著一層夾襖步出監(jiān)牢的瞬間谆吴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工苛预, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留句狼,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓热某,卻偏偏與公主長得像腻菇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子昔馋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

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