![架構(gòu)與重構(gòu)云智慧首席架構(gòu)師干貨分享_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/0b8ef0e7-6999-4d50-8372-64eda37b2e09/0b8ef0e7-6999-4d50-8372-64eda37b2e091.gif)
![架構(gòu)與重構(gòu)云智慧首席架構(gòu)師干貨分享_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/0b8ef0e7-6999-4d50-8372-64eda37b2e09/0b8ef0e7-6999-4d50-8372-64eda37b2e092.gif)
![架構(gòu)與重構(gòu)云智慧首席架構(gòu)師干貨分享_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/0b8ef0e7-6999-4d50-8372-64eda37b2e09/0b8ef0e7-6999-4d50-8372-64eda37b2e093.gif)
![架構(gòu)與重構(gòu)云智慧首席架構(gòu)師干貨分享_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/0b8ef0e7-6999-4d50-8372-64eda37b2e09/0b8ef0e7-6999-4d50-8372-64eda37b2e094.gif)
![架構(gòu)與重構(gòu)云智慧首席架構(gòu)師干貨分享_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/3/0b8ef0e7-6999-4d50-8372-64eda37b2e09/0b8ef0e7-6999-4d50-8372-64eda37b2e095.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、云智慧首席架構(gòu)師-從西直門立交橋談IT架構(gòu)與重構(gòu)2015年8月13日 PM 20:00 Neeke君從一個戰(zhàn)場奔赴至另一個戰(zhàn)場,回到辦公室,打開電腦,登陸微信,精彩的的微社群分享馬上就要開始了!大家好,我是Neeke,中文名高馳濤,PHP開發(fā)組成員,現(xiàn)在云智慧擔(dān)任高級架構(gòu)師,負(fù)責(zé)公司產(chǎn)品的架構(gòu)與研發(fā)工作。目前云智慧旗下有兩款產(chǎn)品,監(jiān)控寶與透視寶。前者主要做骨干網(wǎng)監(jiān)控和IT基礎(chǔ)設(shè)施監(jiān)控,后者主要做面向業(yè)務(wù)、端到端的一體化APM解決方案。附上分享者的個人簡介:高馳濤(Neeke),云智慧高級架構(gòu)師,PHP 開發(fā)組成員,同時也是 PECL/SeasLog 的作者。8 年研發(fā)管理經(jīng)驗,早期從事大規(guī)模企
2、業(yè)信息化研發(fā)架構(gòu),09 年涉足互聯(lián)網(wǎng)數(shù)字營銷領(lǐng)域并深入研究架構(gòu)與性能優(yōu)化。2014 年加入云智慧,致力于 APM 產(chǎn)品的架構(gòu)與研發(fā)。崇尚敏捷,高效,GettingReal。今天主要跟大家分享的,是近幾年來我在網(wǎng)站、應(yīng)用、信息系統(tǒng)等方面,架構(gòu)與重構(gòu)的一些經(jīng)驗與心得。架構(gòu),在普通技術(shù)人員眼里,是一個貌似很神秘的職業(yè),感覺就像一群神秘武者,在從事著一些很神秘的工作,用一些貌似很深、很奇的東西,來讓一些看似腐朽的項目或應(yīng)用,產(chǎn)生一些微妙的變化。而對于重構(gòu),相對于架構(gòu)來說,則更加的隱忍、更加讓人難以捉摸。讓我們從一張圖片開始。沒錯,這張很美的夜景,是北京,西直門立交橋。它是我國立交橋建筑史上的一座里程碑
3、。但同時,它也是一朵奇葩。大家注意看,左下角向右上角,方向是自西向東的,如果我要從左下,到右下,也就是自西向南行駛,大家覺得,應(yīng)該怎么走?不賣關(guān)子,直接看答案吧。綠色的線路是我們期望的行駛路線,而黃色線路,才是現(xiàn)實中的行駛路線。 也就是我們需要從西向東下橋,然后自南向北上橋,然后自東向西再下橋,然后自北向南,到達(dá)我們的方向。不是北京的司機(jī),想從橋上下來,是很困難的。其實很多北京司機(jī),也會在這里暈掉。但是,它卻是一個非常棒的設(shè)計。為什么這樣講?OK,我們來分析一下這座立交橋的用戶,或受眾。很明顯,對于這座橋,最容易想到的,有兩個用戶:行駛中的司機(jī)、指揮的交警。對于行駛中的司機(jī)來講,這明顯不是一個
4、優(yōu)秀的設(shè)計:1、不直接、容易暈菜;2、哪個彎沒轉(zhuǎn)對,很難再回到原來的道路;3、不可控制。但對于交警(或交管部門)來講,這明顯是一個非常優(yōu)秀的設(shè)計:1、這里不需要交警,也不需要紅路燈,節(jié)省了資源;2、由于全是單行道,不必掉頭和對流,降低了事故率。當(dāng)然,立交橋的設(shè)計者,也就是這次實例的架構(gòu)者。關(guān)于架構(gòu),這是我想分享的一個點:優(yōu)秀的架構(gòu),大多數(shù)是與業(yè)務(wù)無關(guān)的,如果從業(yè)務(wù)的角度來完成一次架構(gòu),很容易失敗。我們再來看另外一個圖片:照片上是一座危樓。(照片上的帥哥不認(rèn)識.)樓與旁邊的院墻,明顯已經(jīng)破敗不堪。用很多大小粗細(xì)不一的木棍或支柱在做支撐。很多網(wǎng)站或應(yīng)用,其實就像這座危樓,雖然已經(jīng)破敗不堪,但仍然有
5、很多業(yè)務(wù)在里面持續(xù)地服務(wù)著,就像依然有很多居民會在里面居住。他們無奈、疲憊、很不開心,但有新需求產(chǎn)生時,仍然可能要增加更多的棍子或支柱,來支撐這座危樓。當(dāng)網(wǎng)站或應(yīng)用,已經(jīng)到了讓開發(fā)者、運(yùn)營者、運(yùn)維者,感覺無奈、疲憊時,重構(gòu)的時機(jī)到來了。架構(gòu)師在對應(yīng)用進(jìn)行重構(gòu)時,首先要考慮哪些點呢?首先,不應(yīng)該是對網(wǎng)站結(jié)構(gòu)進(jìn)行重新構(gòu)建、把很多功能更優(yōu)秀、更牛逼的組件加入進(jìn)來嗎?我要分享的是,在進(jìn)行一次重構(gòu)之前,千萬不要這么想。腦子不能熱,我們不是在鋼鐵俠,可以一手托起一座城市。我們也不是極客,牛逼、優(yōu)秀的組件,就算能掌控得了,也不能組合得好。在重構(gòu)時,著先要考慮的,是舊樓里的居民。也就是舊應(yīng)用中的業(yè)務(wù)。原因是:
6、1、如果不考慮舊業(yè)務(wù),而進(jìn)行重構(gòu),跟一個新項目有什么區(qū)別呢?2、舊業(yè)務(wù)在不停地迭代,如果要做新的架構(gòu),什么時候可以追得上來業(yè)務(wù)?從我成功進(jìn)行重構(gòu)了幾個巨型應(yīng)用項目的經(jīng)驗來看,我的做法不一定是正確的,但卻是切切實實可行的:1、 這座危樓已經(jīng)有了非常多支撐點(bug、業(yè)務(wù)補(bǔ)丁、流程補(bǔ)?。岉椖康牡途S護(hù)舉步維艱,那么應(yīng)該先找這些支撐點進(jìn)行分析,把相近的支撐點進(jìn)行分組和整合2、將這些已經(jīng)梳理好的支撐點,一組一組進(jìn)行隔離(把業(yè)務(wù)解藕、把連帶風(fēng)險降低)3、把已經(jīng)進(jìn)行隔離好的支撐點,一個一個拿來進(jìn)行深度解析(分清流程、層次、與關(guān)鍵點)4、將支持點進(jìn)行規(guī)范化的重構(gòu)與替換(逐個重構(gòu),最終完成基礎(chǔ)結(jié)構(gòu)的重
7、構(gòu))形象一點講:重造一座優(yōu)秀的建筑,是很完美的,但會讓所有人都更加疲憊;而將一座危樓的破舊部分作為基石,把它有機(jī)制地打碎重組,最終成為新建筑最牢固的地基,一次重構(gòu)才是成功的。OK, 以上是今晚我的分享,關(guān)于架構(gòu)與重構(gòu)的心得,下面是交流時間,請大家提問:互動討論:問:我認(rèn)為架構(gòu)必須考慮業(yè)務(wù)?否則很容易出現(xiàn)過度設(shè)計或者設(shè)計缺失答:業(yè)務(wù)是應(yīng)該要考慮的。但也不能過多了考慮,因為很可能會成為定制,而導(dǎo)致后期的不可擴(kuò)展。問:個人覺得架構(gòu)和業(yè)務(wù)的關(guān)系很大,為什么說無關(guān)?答:我認(rèn)為的是,架構(gòu),是從業(yè)務(wù)開始,但最終決定架構(gòu)的,其實是與業(yè)務(wù)無關(guān)的部分。問:軟件開發(fā)有句話很著名,就是沒有銀彈,考慮業(yè)務(wù)是為了彈性和擴(kuò)
8、展,并不會限制,重構(gòu)的開始,可以從82法則開始。先找出那20%影響80%的地方答:業(yè)務(wù)總是有著這樣那樣的條件,而這些條件,如果一旦成為架構(gòu)的決定部分,則容易丟失架構(gòu)原本的意圖。問:在業(yè)務(wù)與非業(yè)務(wù)之間,確實不好拿捏答:嗯。有過這樣一句話:架構(gòu)靠業(yè)務(wù),重構(gòu)重功力。我非常認(rèn)同后半句。問:在架構(gòu)領(lǐng)域里面,其實是分企業(yè)架構(gòu)和技術(shù)架構(gòu)的。我想你想更多的表達(dá)純粹的技術(shù)架構(gòu)。但是,其實,技術(shù)架構(gòu)還是會被業(yè)務(wù)影響的,而且有時候影響很大答:是的。我講的是技術(shù)架構(gòu),不是業(yè)務(wù)架構(gòu)。問:可否舉個印象最深的參與的客戶重架構(gòu)的例子,最大挑戰(zhàn),和如何梳理如何解決的答:具體哪個企業(yè)就不提名了啊。 由于歷史原因(人員、時間等),
9、一個項目非??斓爻晒ζ饋砹?,而且每年穩(wěn)定盈收3億元以上,但所有研發(fā)人員與運(yùn)維人員早已不堪重負(fù)。代碼結(jié)構(gòu)混亂、耦合過重,我切實讀過其中的一些結(jié)構(gòu)和邏輯,一坨一坨,牽一發(fā)動全身,任何一個小的bug,都會搞一周才能fix甚至更久。項目到后來無法維護(hù),業(yè)務(wù)更不能滿足。 最后,在我的建議和帶領(lǐng)下,研發(fā)部門組建了重構(gòu)組,由兩名架構(gòu)師、一名安全顧問、一名數(shù)據(jù)顧問和N名程序員組成。首先梳理項目中的資源藍(lán)圖、結(jié)構(gòu)藍(lán)圖、流程藍(lán)圖,然后選中其中一個最不起眼的流程,隔離層塊與資源,然后對它進(jìn)行深度的分析,找到癥結(jié)點,并使用新的架構(gòu)進(jìn)行SOA,最終完成了這一個模塊。然后歷經(jīng)數(shù)個模塊的重構(gòu)。整個項目脫胎換骨。問:一個架構(gòu)下 有2的n次方可以交叉選擇的方案 如何多變量求解答:在眾多交叉選擇的方案中,如果能選出一個離業(yè)務(wù)最相近,同時有隨時可“掉頭”可能性的方案,那就選擇它; 如果仍然有多個方案,那么做好充分的準(zhǔn)備,然后選最輕量的那個方案開始快速試錯。問:重構(gòu)時模式用的多嗎答:嗯,模式不可或缺會使用,但目的一定要明確。資源、代碼、流程,都會有很多模式可重用,這些模式的使用者和受益者,都是人,管理者、開發(fā)者、運(yùn)維運(yùn)營者,因此,對人友好是首要的。問:這期間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能對人形機(jī)器人制造成本的影響
- 昭通職業(yè)學(xué)院《地球化學(xué)勘探原理與方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 皖南醫(yī)學(xué)院《機(jī)械控制工程基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 太原工業(yè)學(xué)院《執(zhí)業(yè)醫(yī)師考試實踐技能培訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人工智能對消費金融的促進(jìn)作用
- 統(tǒng)編版語文三年級下冊第一單元任務(wù)群整體公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 2024年02月廣東2024年廣東南粵銀行總行辦公室招考信息筆試歷年參考題庫附帶答案詳解
- 河池2025年廣西河池市大化縣廣西籍公費師范畢業(yè)生北京師范大學(xué)(珠海校區(qū))專場招聘22人筆試歷年參考題庫附帶答案詳解
- 棗莊2025年山東棗莊市精神衛(wèi)生中心合同制專業(yè)技術(shù)人員招聘29人筆試歷年參考題庫附帶答案詳解
- 中國美術(shù)學(xué)院《仿真軟件模擬實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 常用電子元器件基礎(chǔ)知識演示
- GB/T 32918.4-2016信息安全技術(shù)SM2橢圓曲線公鑰密碼算法第4部分:公鑰加密算法
- 2023年藥事法規(guī)教學(xué)案例庫及案例分析
- 軸套類零件件的加工課件
- 北京市水務(wù)安全生產(chǎn)風(fēng)險評估指南
- 吸引器教學(xué)講解課件
- 醫(yī)學(xué)心理學(xué)人衛(wèi)八版66張課件
- 物業(yè)服務(wù)五級三類收費重點標(biāo)準(zhǔn)
- 仿古建筑施工常見質(zhì)量通病及防治措施
- 普通沖床設(shè)備日常點檢標(biāo)準(zhǔn)作業(yè)指導(dǎo)書
- DB51∕T 2630-2019 珙桐扦插育苗技術(shù)規(guī)程
評論
0/150
提交評論