讀《微服務(wù)設(shè)計(jì)》

WHY:微服務(wù)架構(gòu)可以更快的交付軟件,有更多機(jī)會(huì)嘗試新技術(shù)。技術(shù)決策上有極大的自由度。軟件更新可以很頻繁。

WHAT:一個(gè)微服務(wù)就是一個(gè)獨(dú)立的實(shí)體,專注于做好一件事。可以獨(dú)立部署在paas平臺(tái)。服務(wù)之間通過(guò)API進(jìn)行通信,避免緊耦合。因此需要考慮好什么應(yīng)該暴露,什么應(yīng)該隱藏。

HOW微?一個(gè)微服務(wù)應(yīng)該可以在兩周內(nèi)完全重寫?;蛘吣悴徽J(rèn)為代碼庫(kù)過(guò)大。

核心原則:高內(nèi)聚低耦合。

好的微服務(wù):限界上下文尋找技術(shù)接縫,將微服務(wù)與這些技術(shù)邊界相匹配。

弊:管理大量微服務(wù)會(huì)復(fù)雜。需要一個(gè)“架構(gòu)師”來(lái)確保團(tuán)隊(duì)有共同的技術(shù)愿景。

正告1:如果想要得到一條通用準(zhǔn)則,微服務(wù)是一個(gè)錯(cuò)誤的選擇。

正告2:走捷徑會(huì)引人技術(shù)債務(wù)。


如果使用客戶端方式,千萬(wàn)不要把與目標(biāo)服務(wù)相關(guān)的邏輯放到客戶端庫(kù)中。

每個(gè)微服務(wù)都有各自的源代碼庫(kù)和CI構(gòu)建。

當(dāng)發(fā)現(xiàn)脆弱的測(cè)試時(shí),應(yīng)該竭盡全力去解決這個(gè)問(wèn)題。否則,我們對(duì)出錯(cuò)會(huì)變得習(xí)以為常。當(dāng)不能立即修復(fù)時(shí),需要把他們記錄下來(lái)(比如提個(gè)ec),并從測(cè)試套間中移除。

實(shí)際上,有些不必要的測(cè)試可以被刪掉。刪除測(cè)試往往令人擔(dān)憂,這可以理解。但這樣可以避免每個(gè)故事都端到端交付導(dǎo)致大量重發(fā)測(cè)試用例,使得測(cè)試庫(kù)臃腫,反饋周期太長(zhǎng)的缺點(diǎn)。當(dāng)然,這里也是從周期時(shí)間和低風(fēng)險(xiǎn)之間做取舍。

賦予團(tuán)隊(duì)更多的服務(wù)所有權(quán),會(huì)提高自治和交付速度,激勵(lì)團(tuán)隊(duì)創(chuàng)建易于部署的服務(wù)。大面積采用特性團(tuán)隊(duì)后,容易出現(xiàn)很少有人下意識(shí)的做守護(hù)者。

服務(wù)相當(dāng)成熟很少改變的時(shí)候,才是開(kāi)源讓別人貢獻(xiàn)代碼的時(shí)候。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、微服務(wù)將變得輕量級(jí) 架構(gòu)需要由人去設(shè)計(jì),這些人被稱為架構(gòu)師?;蛟S很多人并未授予架構(gòu)師的頭銜,但自己卻從事著架構(gòu)...
    justmilkrain閱讀 5,558評(píng)論 10 109
  • “微服務(wù)架構(gòu)”這一術(shù)語(yǔ)在前幾年橫空出世,用于描述這樣一種特定的軟件設(shè)計(jì)方法,即以若干組可獨(dú)立部署的服務(wù)的方式進(jìn)行軟...
    ThoughtWorks閱讀 17,108評(píng)論 1 71
  • 轉(zhuǎn)載本文需注明出處:微信公眾號(hào)EAWorld,違者必究。 微服務(wù)架構(gòu)現(xiàn)在是談到企業(yè)應(yīng)用架構(gòu)時(shí)必聊的話題,微服務(wù)之所...
    72a1f772fe47閱讀 3,519評(píng)論 0 38
  • 微服務(wù)最近非常流行,各大互聯(lián)網(wǎng)公司紛紛采用微服務(wù)架構(gòu)體系,微服務(wù)架構(gòu)模式正在為敏捷部署以及復(fù)雜企業(yè)應(yīng)用實(shí)施提供巨大...
    Sting閱讀 9,208評(píng)論 0 57
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139

友情鏈接更多精彩內(nèi)容