自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微服務(wù)把我坑了!

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

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

[[322074]]

研究了一會兒以后,他不由地拍案叫絕:每個服務(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等, 張總可以選擇一下!”

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

愛思考的小李說到:“張總, 我們維護的是一個企業(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),負載均衡、網(wǎng)關(guān)、故障轉(zhuǎn)移等各種功能。

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

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

第一周:

小李:“張總,現(xiàn)在配置個本地環(huán)境可真是麻煩啊,我負責(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),負載均衡、網(wǎng)關(guān)、故障轉(zhuǎn)移,最終一致性,鏈路跟蹤,日志分析,契約測試,docker, k8s......

張大胖心滿意足。

CEO把張大胖叫進了辦公室。

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ù)等很多高級的功能,不信您看,每個服務(wù)有3個實例,我把任意一個殺掉, 系統(tǒng)就會自動啟動一個新的, 和Netflix一樣..... ”

CEO 怒了:“你瘋了嗎?我們這個是內(nèi)部應(yīng)用,公司一共才幾百人,你瞎搞啥負載均衡,故障轉(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),反而得不償失。

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】

 

戳這里,看該作者更多好文

 

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

2024-03-14 10:30:05

緩存場景DEMO

2021-10-17 20:38:30

微服務(wù)內(nèi)存組件

2021-01-26 00:46:40

微服務(wù)架構(gòu)微服務(wù)應(yīng)用

2022-12-07 15:37:32

參數(shù)不定參數(shù)

2021-09-09 18:12:22

內(nèi)存分段式網(wǎng)絡(luò)

2019-06-19 09:33:17

微服務(wù)面試電商

2020-06-09 08:19:25

微服務(wù)網(wǎng)站架構(gòu)

2023-12-01 07:38:33

微服務(wù)訂單服務(wù)

2024-07-12 08:52:50

2024-11-19 08:36:16

2024-05-14 08:20:59

線程CPU場景

2020-04-30 11:25:32

Insert into數(shù)據(jù)庫索引

2023-10-31 08:01:48

Mybatis參數(shù)jdbcurl?

2019-04-24 17:45:24

微服務(wù)容器青云

2024-01-04 14:16:05

騰訊紅黑樹Socket

2021-12-03 11:57:27

代碼##語言

2023-02-27 16:24:17

架構(gòu)開發(fā)數(shù)字化

2022-11-12 17:50:02

Web服務(wù)器微服務(wù)

2023-10-12 00:07:27

Service單體微服務(wù)

2019-09-27 09:13:55

Redis內(nèi)存機制
點贊
收藏

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