日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微服务把我坑了!

發(fā)布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务把我坑了! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

技術(shù)總監(jiān)張大胖在朋友圈看到一篇文章,講的是Netflix的微服務(wù)實踐。?

研究了一會兒以后,他不由地拍案叫絕:每個服務(wù)都是一個組件,可以

1. 獨立開發(fā)?

2. 獨立部署?

3. 獨立伸縮

人家Netflix居然可以在生產(chǎn)環(huán)境隨意地停掉微服務(wù)測試穩(wěn)定性,這真的把張大胖鎮(zhèn)住了!

張大胖上網(wǎng)搜索一番,發(fā)現(xiàn)網(wǎng)上已經(jīng)有很多文章了,很多公司已經(jīng)開始使用微服務(wù)了,輸出了很多最佳實踐,自己還不知道,太落伍了,這絕不能容忍!

他馬上召集部門開會,商量微服務(wù)改造事宜。?

技術(shù)狂熱粉小王率先發(fā)言:“現(xiàn)在支持微服務(wù)的有很多框架,比如SpringCloud , Dubbo等, 張總可以選擇一下!”

張大胖找到了支持者,向小王投去了贊許的目光。

愛思考的小李說到:“張總, 我們維護(hù)的是一個企業(yè)內(nèi)部系統(tǒng),好像也不太復(fù)雜啊,需要改造成微服務(wù)嗎?”

張大胖反問:“怎么不需要?微服務(wù)是未來業(yè)界的趨勢,不順勢而為就會被時代拋棄。以后你沒做過微服務(wù),出門好意思給別人打招呼嗎?!”

沒人說話了。

張大胖又補充一句:“每個服務(wù)都是獨立的,大家可以用自己喜歡的編程語言去開發(fā)啊!”

這句話太有殺傷力了, 各個開發(fā)人員浮想聯(lián)翩:

小李:“嗯,我要試一下Go”

小王:“我正在學(xué)JavaScript,可以搞下Node.js”

小劉:“趁此機會練習(xí)下Python”

看到大家臉上的表情,張大胖心中暗喜, 他講了一下自己選擇的RPC框架,支持服務(wù)發(fā)現(xiàn),負(fù)載均衡、網(wǎng)關(guān)、故障轉(zhuǎn)移等各種功能。

然后他帶著大家把現(xiàn)有系統(tǒng)做了劃分,拆分成12個微服務(wù),它們之間通過REST API調(diào)用。

微服務(wù)改造之路正式開啟!

第一周

小李:“張總,現(xiàn)在配置個本地環(huán)境可真是麻煩啊,我負(fù)責(zé)的服務(wù)依賴其他五個服務(wù),沒法本地運行啊。”

張大胖:“嗯,這我事先倒是沒想到,我看到大家都在用docker,要不我們也把微服務(wù)都形成docker鏡像?這樣每個人都可以在本地運行整個環(huán)境了。”

小李:“這能行嗎?我的機器性能差,這么多微服務(wù)跑不起來吧?”

張大胖:“沒事, 我申請經(jīng)費,每人一臺高性能電腦!”

第二周:

小王:“張總,你看我們每個微服務(wù)對應(yīng)一個自己的數(shù)據(jù)庫,原來的事務(wù)做不了了。”

張大胖大吃一驚,怎么把這一茬給忽略了!他知道分布式事務(wù),兩階段提交,三階段提交, 但是性能差,穩(wěn)定性不好,上網(wǎng)搜鎖了一下,發(fā)現(xiàn)了TCC,但是對業(yè)務(wù)的侵入性強,最后確定用“最終一致性”這么一個寶貝,發(fā)給了小王。?

小王看完后說到:“張總,這還得實現(xiàn)重試和冪等性啊,真是麻煩啊。”

張大胖拍拍小王的肩膀:“小伙子,要有開放的心態(tài),這是多么好的學(xué)習(xí)機會啊?”

第三周:

小梁:“張總,這么多微服務(wù),我為了定位一個問題,花了一個上午的時間,一個服務(wù)一個服務(wù)地查找,累死個人啊。”

張大胖很無奈,搜出一個“鏈路跟蹤”的開源解決方案Zipkin,扔給小梁去實施。

看著密密麻麻的配置,小梁覺得很崩潰。

第四周:

小蔡:“張總,這日志文件都分布在不同的機器上,查看起來太麻煩了。”

張大胖找到一個“ELK日志分析”的解決方案,扔給小蔡去實施。

第五周:

小劉:“張總,小梁改了微服務(wù)的接口,增加了一個參數(shù),他沒給其他人說, 我們的微服務(wù)都沒法運行了!”

張大胖說:“小梁怎么能這么做呢?”

小劉:“原來在一個工程中,在編譯階段就能發(fā)現(xiàn)接口的不匹配,現(xiàn)在都是靠文檔約定的接口,發(fā)現(xiàn)問題就晚了。”

張大胖搜出一個“契約測試”,發(fā)到群里:“以后的服務(wù)改動,必須得通過契約測試!”

第六周:

小李:“張總,我們這12個微服務(wù),每個服務(wù)部署3個實例,我昨天熬了一宿,才手工部署完成,必須得自動化了,要不咱們也來一套k8s?”

張大胖拍拍小李的肩膀:“小伙子挺有想法,微服務(wù)可不就得搭配k8s嗎,搞起來!”

經(jīng)過幾個月的996的開發(fā),微服務(wù)改造過的系統(tǒng)隆重上線,各種新技術(shù)在其中閃閃發(fā)亮:服務(wù)發(fā)現(xiàn),負(fù)載均衡、網(wǎng)關(guān)、故障轉(zhuǎn)移,最終一致性,鏈路跟蹤,日志分析,契約測試,docker, k8s......

張大胖心滿意足。

CEO把張大胖叫進(jìn)了辦公室。

CEO:“張大胖,你說搞系統(tǒng)改造,我還給你批了資金,現(xiàn)在系統(tǒng)怎么越來越慢了?”

張大胖:“老板您有所不知,我們的系統(tǒng)現(xiàn)在變成分布式的了,分布式系統(tǒng)要略微慢些。”

CEO:“我就問你,我就想看看這個報表,為什么半天都出不來結(jié)果?”

張大胖:“因為我們現(xiàn)在是微服務(wù)架構(gòu),這涉及到多個服務(wù)調(diào)用!我們實現(xiàn)了網(wǎng)關(guān),負(fù)載均衡,故障恢復(fù)等很多高級的功能,不信您看,每個服務(wù)有3個實例,我把任意一個殺掉, 系統(tǒng)就會自動啟動一個新的, 和Netflix一樣..... ”

CEO 怒了:“你瘋了嗎?我們這個是內(nèi)部應(yīng)用,公司一共才幾百人,你瞎搞啥負(fù)載均衡,故障轉(zhuǎn)移!”

第二天, 張大胖被開除了。?

張大胖離開之前對組員說:“唉,沒辦法,領(lǐng)導(dǎo)們只關(guān)注業(yè)務(wù),不關(guān)注技術(shù)的發(fā)展趨勢,我要走了,大家以后好自為之吧。”

小李嘀咕道:“這技術(shù)不就是為業(yè)務(wù)服務(wù)的嗎?微服務(wù)看起來很美,但是根本不適合我們。”

小王說:“張總,別聽小李瞎說,我們學(xué)會了微服務(wù),簡歷中也有干貨了。”

張大胖心中一亮, 回去趕緊修改簡歷,加上了這么一條:

領(lǐng)導(dǎo)了單體項目向微服務(wù)的遷移,精通微服務(wù)的架構(gòu)設(shè)計,部署,監(jiān)控。?

后記:

寫這一篇小品文,是想說明一個道理:不能“手里拿著一個錘子,眼中看到的全是釘子”,微服務(wù)雖好,也有適用的范圍,?有很多項目單體應(yīng)用活得好好的,根本沒有拆分的必要,盲目追風(fēng),反而得不償失。

總結(jié)

以上是生活随笔為你收集整理的微服务把我坑了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。