微服務(wù)架構(gòu)的缺點

微服務(wù) “入門易容燕,出門難”

介紹微服務(wù)架構(gòu)好處的文章比較多,最近交付的一個項目發(fā)現(xiàn)的缺點也比較明顯婚度,給方案設(shè)計蘸秘,性能,測試蝗茁,運維醋虏,問題排查,數(shù)據(jù)管理评甜,配置管理灰粮,事務(wù)管理,研發(fā)管理都帶來了不少挑戰(zhàn)忍坷。如果使用不慎粘舟,研發(fā)成本,交付成本和運維成本都可能會大幅度上升佩研。

自己的體會柑肴,不能簡單通過技術(shù)角度看待微服務(wù)化,為了微服務(wù)而微服務(wù)潛在風(fēng)險很大旬薯,不好的微服務(wù)切分會帶來不必要的溝通路徑晰骑,而溝通路徑增加會帶來更大的復(fù)雜度,這違背了微服務(wù)設(shè)計的初衷绊序。微服務(wù)“入門容易硕舆,掌握難,出門難”骤公。

建議的原則是業(yè)務(wù)驅(qū)動抚官,設(shè)計保障,演進式迭代阶捆,保守治療的方式凌节。搞不清楚钦听,有爭議的地方先盡量不要拆,如果確實要拆倍奢,要經(jīng)過業(yè)務(wù)分析后慎重設(shè)計朴上,把真正相對獨立的部分拆分出來,可以借鑒DDD的方式卒煞。拆了以后要觀察微服務(wù)的接口是否穩(wěn)定痪宰,針對業(yè)務(wù)需求的變更微服務(wù)的模塊是否可以保持相對穩(wěn)定,是否可以獨立演進跷坝。

微服務(wù)的缺點

正好看了一個國外帖子酵镜,總結(jié)的不錯,翻譯并增加了自己的一些體會:

以下是微服務(wù)架構(gòu)的缺點:

  1. 團隊溝通的過載:微服務(wù)架構(gòu)降低了團隊管理的難度柴钻,但是確不能降低團隊溝通的需求淮韭。研發(fā)人員需要確保一個服務(wù)中的更新不會破壞其它功能。我們在單體應(yīng)用中也會發(fā)現(xiàn)類似問題贴届,但是微服務(wù)架構(gòu)的應(yīng)用這個問題會更加明顯靠粪。

  2. 正式文檔的過載:每一個獨立的運行部件需要持續(xù)維護其規(guī)格和接口文檔,這些文檔是其它團隊使用這些部件的必要條件毫蚓。

  3. 不一致性的應(yīng)用:我們可以為每一個組件選擇不同的技術(shù)棧占键。這導(dǎo)致了不一致的應(yīng)用設(shè)計和架構(gòu),而這會在更長期的運維期間增加系統(tǒng)維護成本元潘。

  4. DevOps的復(fù)雜度:我們需要擁有一支成熟的DevOps團隊去處理微服務(wù)架構(gòu)的應(yīng)用的復(fù)雜性畔乙。由于多個應(yīng)用存在多個活動部件,這種復(fù)雜度需要有高水平的經(jīng)驗翩概。

  5. 增加了資源使用:運行這些微服務(wù)架構(gòu)的應(yīng)用的初始投資會比較大牲距,因為所有微服務(wù)應(yīng)都需要擁有他們自己的運行容器,這也需要更多的CPU和內(nèi)存钥庇。另外采用了中間件也會帶啦一個比較大的基座投資牍鞠。

  6. 增加了網(wǎng)絡(luò)通信開銷:分布式系統(tǒng)的產(chǎn)生的網(wǎng)絡(luò)開銷比單機應(yīng)用多很多,不能簡單把內(nèi)部調(diào)用簡單改為分布式調(diào)用评姨,吃虧很大难述。微服務(wù)架構(gòu)下,獨立運行的組件都需要通過網(wǎng)絡(luò)進行互相通信吐句。這中系統(tǒng)需要有更加可靠和快速的網(wǎng)絡(luò)連接胁后。

  7. 編碼和解碼:這個容易理解,也會產(chǎn)生性能問題嗦枢。

  8. 網(wǎng)絡(luò)安全:通過網(wǎng)絡(luò)進行通信的系統(tǒng)更容易產(chǎn)生安全缺陷攀芯。

  9. 測試:測試微服務(wù)架構(gòu)的應(yīng)用絕對比單體應(yīng)用難很多,深有體會净宵,集成測試過程是一場噩夢。

  10. 產(chǎn)品監(jiān)控:監(jiān)控微服務(wù)架構(gòu)應(yīng)用的成本會更高,很難獲得合適的工具择葡,自研的成本也很高紧武。

  11. 其它:另外例如方案設(shè)計,研發(fā)管理敏储,問題排查確實都有不少挑戰(zhàn)阻星。

Martin Fowler的觀點

架構(gòu)演進應(yīng)該還是需要業(yè)務(wù)驅(qū)動和演進式迭代的,重新看了Martin Fowler的那篇
Microservices經(jīng)典之作已添。再來體會一下這句話會有不同的體驗:
“One reasonable argument we've heard is that you shouldn't start with a microservices architecture. Instead begin with a monolith, keep it modular, and split it into microservices once the monolith becomes a problem.”
不要一上來就以微服務(wù)架構(gòu)做為起點妥箕。相反,要用一個單塊系統(tǒng)做為起點更舞,并保持其模塊化畦幢。當(dāng)這個單塊系統(tǒng)出現(xiàn)了問題后,再將其分解為微服務(wù)缆蝉。

微服務(wù)架構(gòu)——不是免費的午餐

另外看到一篇文章《Microservices - Not A Free Lunch!》,也提出了微服務(wù)的幾個潛在問題:

  • 顯著的運營開銷
  • 大量的開發(fā)運營(DevOps)技術(shù)要求
  • 隱式接口
  • 重復(fù)努力
  • 分布式系統(tǒng)的復(fù)雜性
  • 異步性的困難性
  • 可測試挑戰(zhàn)

參考:

微服務(wù)架構(gòu)——不是免費的午餐(翻譯)
Microservices - Not A Free Lunch!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宇葱,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子刊头,更是在濱河造成了極大的恐慌黍瞧,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件原杂,死亡現(xiàn)場離奇詭異印颤,居然都是意外死亡,警方通過查閱死者的電腦和手機穿肄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門年局,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人被碗,你說我怎么就攤上這事某宪。” “怎么了锐朴?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵兴喂,是天一觀的道長。 經(jīng)常有香客問我焚志,道長衣迷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任酱酬,我火速辦了婚禮壶谒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘膳沽。我一直安慰自己汗菜,他們只是感情好让禀,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著陨界,像睡著了一般巡揍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上菌瘪,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天腮敌,我揣著相機與錄音,去河邊找鬼俏扩。 笑死糜工,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的录淡。 我是一名探鬼主播捌木,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赁咙!你這毒婦竟也來了钮莲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤彼水,失蹤者是張志新(化名)和其女友劉穎崔拥,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凤覆,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡链瓦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盯桦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慈俯。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖拥峦,靈堂內(nèi)的尸體忽然破棺而出贴膘,到底是詐尸還是另有隱情,我是刑警寧澤略号,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布刑峡,位于F島的核電站,受9級特大地震影響玄柠,放射性物質(zhì)發(fā)生泄漏突梦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一羽利、第九天 我趴在偏房一處隱蔽的房頂上張望宫患。 院中可真熱鬧,春花似錦这弧、人聲如沸娃闲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽皇帮。三九已至泽疆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間玲献,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工梯浪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捌年,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓挂洛,卻偏偏與公主長得像礼预,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子虏劲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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