談?wù)勏到y(tǒng)架構(gòu)這個東西

談?wù)勏到y(tǒng)架構(gòu)這個東西 - 后端技術(shù)雜談 | 颯然Hang
http://www.rowkey.me/blog/2014/06/04/sys-arch/

蔡學(xué)鏞分享的架構(gòu)設(shè)計流程的圖

首當(dāng)其沖的,肯定是需要對整個系統(tǒng)的業(yè)務(wù)進(jìn)行拆分笆环,進(jìn)行業(yè)務(wù)設(shè)計雇卷,目的就是要捋清楚系統(tǒng)是干什么的畅姊,能提供什么功能,對系統(tǒng)的需求要做到詳盡的分析和考慮。不過這部分护侮,在我參與過的一些項目看來群叶,尤其是對現(xiàn)在普遍使用的敏捷開發(fā)流程來說吃挑,無需考慮的太面面俱到,但至少不能太窄或者偏離正軌街立,后續(xù)的開發(fā)過程會不斷的反饋回來進(jìn)行調(diào)整舶衬。

接下來,系統(tǒng)的業(yè)務(wù)明確之后赎离,交互設(shè)計和領(lǐng)域建模便可以同時執(zhí)行逛犹。當(dāng)然,這里我是覺得交互設(shè)計和架構(gòu)師是沒啥關(guān)系的,頂多就是兩者要相輔相成虽画。而領(lǐng)域建模這個就顯得很重要了舞蔽。領(lǐng)域建模是業(yè)務(wù)設(shè)計的主要邏輯,把現(xiàn)實中的業(yè)務(wù)轉(zhuǎn)化成抽象的對象码撰,這個確實是能力的體現(xiàn)了渗柿。我覺得這一部分很多出色的架構(gòu)師相比其他人突出的一個很關(guān)鍵的地方。

技術(shù)模塊設(shè)計則是在理解了系統(tǒng)的業(yè)務(wù)需求之后脖岛,對整體的一個技術(shù)框架上的設(shè)計做祝。這里對于技術(shù)架構(gòu),我一直有一個分不太清楚的東西鸡岗,就是軟件架構(gòu)和系統(tǒng)架構(gòu)混槐。說到底,這兩者都是軟件層面的含義轩性,所不同的是前者到了代碼層面声登,而系統(tǒng)架構(gòu)則是到了軟件層面。軟件架構(gòu)是位于系統(tǒng)架構(gòu)之上的揣苏。一個系統(tǒng)悯嗓,使用了Spring、Hibernater然后用了MVC設(shè)計模式卸察,這就是軟件架構(gòu)脯厨;一個系統(tǒng)分成負(fù)載均衡模塊、Link模塊坑质、隊列模塊合武、數(shù)據(jù)模塊、推送模塊等等則就是系統(tǒng)架構(gòu)涡扼。再往下就應(yīng)該是部署架構(gòu)了稼跳,比如系統(tǒng)部署了幾個結(jié)點、結(jié)點之間的關(guān)系吃沪、網(wǎng)絡(luò)的規(guī)劃結(jié)構(gòu)汤善、系統(tǒng)的高可用、可擴展等等票彪。當(dāng)然對于一個系統(tǒng)來說红淡,數(shù)據(jù)的設(shè)計是可以拿出來重點進(jìn)行的,畢竟對于互聯(lián)網(wǎng)應(yīng)用來說降铸,數(shù)據(jù) is all在旱,系統(tǒng)的很多性能、效率問題是和數(shù)據(jù)的存儲設(shè)計有密切關(guān)系的垮耳。

談到架構(gòu)颈渊,那么如何才能具有架構(gòu)能力呢?借鑒在知乎上看到一個回答:

視野開闊终佛,知道可以直接用哪個開源項目來滿足這樣那樣的需求俊嗽。多數(shù)時候其實我們并不需要重復(fù)造輪子。視野窄的架構(gòu)師會放著捷徑不走铃彰,不斷讓團(tuán)隊重復(fù)造輪子绍豁,直至把項目拖死。
精通設(shè)計模式牙捉,但又不泛用竹揍。不設(shè)計過度,不在各種細(xì)節(jié)問題上需求蔓延邪铲。所有架構(gòu)設(shè)計都是為了滿足產(chǎn)品需求的芬位,不滿足需求或者過度設(shè)計都是菜鳥行為。
系統(tǒng)拆分成多個子系統(tǒng)或模塊带到,模塊之間盡量松耦合昧碉,使得原先只能串行的開發(fā)任務(wù),可以并行開展揽惹,也就是說良好的設(shè)計可以通過投入更多人力來縮短工期被饿。反之拙劣的設(shè)計需要一個人維護(hù)一大坨代碼,無法通過加人并行開發(fā)來縮短工期搪搏。
能清楚地知道系統(tǒng)的瓶頸在什么地方,不斷地定位技術(shù)難度、研發(fā)進(jìn)度干茉、性能绞铃、內(nèi)存等各方面的瓶頸,不斷調(diào)整骨干力量解決瓶頸囱嫩,在風(fēng)險爆發(fā)之前就消除隱患嗅辣。
行業(yè)經(jīng)驗帶來的直覺和預(yù)見性,可以預(yù)先需求可能產(chǎn)生怎樣的變化挠说,提前把可擴展性澡谭、后向兼容性設(shè)計好。但仍然不要過度設(shè)計

蔡學(xué)鏞大神之前還分享過一張圖片损俭,對架構(gòu)講的挺透徹的蛙奖。不明白的時候看看這個,會有種茅塞頓開的感覺杆兵。


Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雁仲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子琐脏,更是在濱河造成了極大的恐慌攒砖,老刑警劉巖缸兔,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吹艇,居然都是意外死亡惰蜜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門受神,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抛猖,“玉大人,你說我怎么就攤上這事鼻听〔浦” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵撑碴,是天一觀的道長撑教。 經(jīng)常有香客問我,道長醉拓,這世上最難降的妖魔是什么驮履? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮廉嚼,結(jié)果婚禮上玫镐,老公的妹妹穿的比我還像新娘。我一直安慰自己怠噪,他們只是感情好恐似,可當(dāng)我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著傍念,像睡著了一般矫夷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上憋槐,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天双藕,我揣著相機與錄音,去河邊找鬼阳仔。 笑死忧陪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的近范。 我是一名探鬼主播嘶摊,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼评矩!你這毒婦竟也來了叶堆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤斥杜,失蹤者是張志新(化名)和其女友劉穎虱颗,沒想到半個月后沥匈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡忘渔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年高帖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辨萍。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖返弹,靈堂內(nèi)的尸體忽然破棺而出锈玉,到底是詐尸還是另有隱情,我是刑警寧澤义起,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布拉背,位于F島的核電站,受9級特大地震影響默终,放射性物質(zhì)發(fā)生泄漏椅棺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一齐蔽、第九天 我趴在偏房一處隱蔽的房頂上張望两疚。 院中可真熱鬧,春花似錦含滴、人聲如沸诱渤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勺美。三九已至,卻和暖如春碑韵,著一層夾襖步出監(jiān)牢的瞬間赡茸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工祝闻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留占卧,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓联喘,卻偏偏與公主長得像屉栓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耸袜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,446評論 2 348

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