成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你以為在做的是微服務(wù)?不!你只是做了個(gè)比單體還糟糕的分布式單體!

開發(fā) 開發(fā)工具 分布式
今天我們就來聊聊這個(gè)有趣的話題:分布式單體。各位看官,看看你們公司是不是也犯了這樣的錯(cuò)誤?

[[387137]]

本文轉(zhuǎn)載自微信公眾號「程序猿DD」,作者翟永超。轉(zhuǎn)載本文請聯(lián)系程序猿DD公眾號。

昨晚睡覺前,順手?jǐn)]了幾個(gè)群聊的聊天記錄。發(fā)現(xiàn)一個(gè)很有意思的名詞“分布式單體”,順藤摸瓜看了一下之前的聊天記錄,由于內(nèi)容罵罵咧咧,我就不貼出來了。大致內(nèi)容就是某公司在做微服務(wù)改造,但改的不倫不類,形式上像微服務(wù),而本質(zhì)上依然是單體,甚至連單體都不如。

這樣的改造現(xiàn)象,其實(shí)在國內(nèi)還是蠻多見的。今天我們就來聊聊這個(gè)有趣的話題:分布式單體。各位看官,看看你們公司是不是也犯了這樣的錯(cuò)誤?

分布式單體為什么不好

先思考一個(gè)問題:從單體改造到微服務(wù)的時(shí)候,你們是不是按這樣的步驟來的?

  1. 確定業(yè)務(wù)領(lǐng)域,拆分存儲,定義各微服務(wù)的邊界
  2. 改造代碼邏輯,將原來的內(nèi)部service調(diào)用改成dubbo或feign這樣的遠(yuǎn)程調(diào)用

通過這樣的改造,我們得到了很多好處,比如:

  1. 代碼庫分開了,減少了麻煩的解決代碼沖突的困擾
  2. CI/CD分開了,每個(gè)拆分后的服務(wù)都可以獨(dú)立開發(fā)、部署、運(yùn)行
  3. 數(shù)據(jù)庫分開了,獨(dú)立運(yùn)行,不同業(yè)務(wù)模塊不會(huì)互相影響

這樣一頓操作,我們把一個(gè)臃腫的單體應(yīng)用變成了多個(gè)精煉的分布式應(yīng)用,似乎完美的實(shí)現(xiàn)了改造?但這樣就實(shí)現(xiàn)了微服務(wù)的核心目標(biāo)了嗎?繼續(xù)思考下面的問題:

  1. 代碼庫是分開了,但每個(gè)服務(wù)都在獨(dú)立迭代嗎?是不是每個(gè)需求都要協(xié)調(diào)一大堆同步接口?
  2. CI/CD是分開了,但每次發(fā)布都是自由的嗎?是不是每次功能的發(fā)布都拖上了一大推的服務(wù)要一起發(fā)布?
  3. 數(shù)據(jù)庫是分開了,但似乎有個(gè)服務(wù)掛了,依然導(dǎo)致很多功能就都不正常了?

看似我們得到了很多好處,但我們的開發(fā)效率真的得到了提升嗎?雖然我們以前一個(gè)單體應(yīng)用啟動(dòng)要3分鐘,現(xiàn)在拆分后,一個(gè)項(xiàng)目啟動(dòng)30分鐘,但每次開發(fā)調(diào)試要同時(shí)開好幾個(gè)項(xiàng)目同時(shí)啟動(dòng)?這樣的開發(fā)體驗(yàn)真的爽到了嗎?

看似完成了微服務(wù)改造,實(shí)則依然是個(gè)單體應(yīng)用,只是從原本的集中式實(shí)現(xiàn),變成是分布式實(shí)現(xiàn)。原來我們只是做了一次無用功,真正的收益微乎其微。

而實(shí)際上,這樣的改造,除了收益不高之外,實(shí)際上還帶出了更多的壞處。如果你們公司是這樣做的,有沒有發(fā)現(xiàn),這樣做之后,好像系統(tǒng)故障的頻率更高了?穩(wěn)定性似乎比單體應(yīng)用還差?(如果沒有,那一定要感謝你們的運(yùn)維團(tuán)隊(duì)真的很給力,同時(shí)建議把這篇轉(zhuǎn)給運(yùn)維團(tuán)隊(duì),采訪下這樣的改造是不是他們變得更累了?!)

為什么這樣的改造會(huì)導(dǎo)致系統(tǒng)更加不穩(wěn)定呢?其實(shí)道理很簡單,原本我們在單體應(yīng)用中,未拆分的遠(yuǎn)程調(diào)用都是內(nèi)部調(diào)用,這個(gè)內(nèi)部調(diào)用所能引發(fā)的故障率是微乎其微的,而將這部分內(nèi)容拆成了遠(yuǎn)程調(diào)用后,每一個(gè)調(diào)用都增加了網(wǎng)絡(luò)IO的因素,每一次調(diào)用的故障率都增加了。那么系統(tǒng)的整體故障率是隨著系統(tǒng)擁有多少同步遠(yuǎn)程調(diào)用的數(shù)量增加而增加的。當(dāng)運(yùn)維團(tuán)隊(duì)與開發(fā)水平?jīng)]有沒有支持好這部分增加的復(fù)雜度的時(shí)候,那么改造的系統(tǒng),必然的穩(wěn)定性會(huì)比原來的單體應(yīng)用更差。

所以,這樣改造的結(jié)果,不但沒有得到很多的收益,反而會(huì)帶來很多穩(wěn)定性上的損失。

改造走樣的元兇

那么為什么會(huì)造成上面所說的問題呢?我覺得主要有兩方面:

1.領(lǐng)域拆分的不合理,引出了過多的同步遠(yuǎn)程調(diào)用

這個(gè)是最根本的問題,也是在改造過程中最常見的。這部分說實(shí)話是整個(gè)改造過程中最難的,因?yàn)樾枰獙I(yè)務(wù)有非常深入的認(rèn)識,對系統(tǒng)設(shè)計(jì)的領(lǐng)域模型、用戶行為有足夠的理解。在做拆分的時(shí)候,盡可能的減少同步遠(yuǎn)程調(diào)用,取而代之的是走消息的異步交互,同時(shí)根據(jù)業(yè)務(wù)需要也可以做適當(dāng)?shù)臄?shù)據(jù)冗余。這樣就能保證,每個(gè)被拆分后的微服務(wù)之間可以獲得更低耦合度。

因?yàn)楦偷鸟詈隙龋覀儾拍茉诓蛔鋈魏蝺?yōu)化的情況下,獲得更少的分布式所帶來的穩(wěn)定性損失。對于后面要將的第2點(diǎn)的工作量也就越少。同時(shí),對于真正的獨(dú)立開發(fā)、部署、運(yùn)行也成為可能。

2.簡單粗暴的實(shí)現(xiàn),缺少分布式的保護(hù)機(jī)制

在很多團(tuán)隊(duì)里,因?yàn)闃I(yè)務(wù)需求多與人員配置少的矛盾之下下,開發(fā)人員很容易出現(xiàn)對遠(yuǎn)程調(diào)用不做足夠的保護(hù)機(jī)制,比如:接口提供方的限流策略(保護(hù)自己不被別人搞死),接口調(diào)用方的降級策略(保護(hù)業(yè)務(wù)更高的可用性),接口調(diào)用方的熔斷策略(保護(hù)自己不被別人拖死)。只有認(rèn)真對待每一個(gè)分布式環(huán)境下的依賴點(diǎn),那么才能解決因?yàn)榉植际礁脑焖鶢窟B出的諸多問題。

但要做好這一點(diǎn)的核心,還是對第一點(diǎn)的把握,只有在領(lǐng)域模型上做更合理的拆分規(guī)劃,才能支持開發(fā)人員做好這個(gè)點(diǎn),不然隨意的拆分,一大堆接口調(diào)用壓給本就壓力很大的開發(fā)人員,那這部分的開發(fā)質(zhì)量是很難保障了,自然而然的系統(tǒng)穩(wěn)定性就開始隨著接口復(fù)雜度的增加而不斷下降了。最后,開發(fā)人員就會(huì)開始來我們?nèi)豪锿虏哿?..甚至大家也開始懷疑微服務(wù)根本帶不來效率的提升!

最后,思考一下,你們的微服務(wù)改在有出現(xiàn)這里我說的情況嗎?還是有其他不一樣的問題呢?歡迎留言區(qū)說說你們的問題,聊聊你的觀點(diǎn)!

原文鏈接:https://mp.weixin.qq.com/s/YN4zGzySLMCx3QoT2t4pbA

 

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2023-06-14 17:56:54

2023-12-19 22:19:21

軟件架構(gòu)開發(fā)架構(gòu)

2025-05-13 03:22:00

2022-12-21 16:13:31

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

2022-09-13 09:14:48

架構(gòu)系統(tǒng)

2020-05-19 22:05:39

Serverless微服務(wù)分布式

2024-04-11 12:42:30

2023-12-19 22:29:37

架構(gòu)微服務(wù)系統(tǒng)

2024-05-17 13:48:19

2016-09-09 08:27:16

2017-07-13 16:20:28

代碼庫分布式代碼

2022-08-19 10:27:39

系統(tǒng)模型

2023-11-01 11:17:26

單體架構(gòu)微服務(wù)架構(gòu)

2017-09-19 09:36:24

微服務(wù)架構(gòu)分布式

2022-04-11 17:33:29

微服務(wù)架構(gòu)單體

2021-11-05 07:18:15

分布式事務(wù)業(yè)務(wù)

2022-03-29 08:30:15

微服務(wù)架構(gòu)單體架構(gòu)

2025-05-07 02:15:00

分布式鎖高并發(fā)UUID鎖

2023-01-03 11:39:06

2019-11-19 08:47:45

Zookeeper分布式事務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 五月天激情电影 | 久久久精彩视频 | 在线视频一区二区 | 久久久久久亚洲 | 精品国产乱码久久久久久1区2区 | 亚洲成人一级 | 黄色一级片aaa | 中午字幕在线观看 | 国产极品车模吞精高潮呻吟 | 97国产精品视频人人做人人爱 | 亚洲精品国产a久久久久久 午夜影院网站 | 久久精品免费一区二区 | 性一爱一乱一交一视频 | 成人网在线观看 | 亚洲三级在线观看 | 欧美不卡网站 | 久久午夜精品 | 欧美一区二区三区精品 | 九九一级片 | av在线成人 | 中文字幕日韩欧美一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 在线观看中文视频 | 免费av直接看| 久久久久国产一区二区三区 | 国产精品91视频 | 久久另类视频 | 一区二区三区四区在线视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 欧美日批 | 日韩精品在线免费 | 亚洲成人中文字幕 | 日韩无 | 欧洲一区二区在线 | 国产精产国品一二三产区视频 | 在线看av的网址 | 午夜精品久久久久久久99黑人 | 欧美在线色视频 | 亚州综合一区 | 91伊人网| 一区二区av |