架構設計方法初探

作者 陳彩華
文章轉載交流請聯(lián)系 caison@aliyun.com

最近學習了阿里資深技術專家李運華的架構設計教程,頗有收獲题画,總結一下。

本文主要介紹架構設計的相關概念德频,系統(tǒng)復雜度的來源苍息,架構設計的基本原則和流程。

1 基本概念和目的

架構設計的基本概念和目的

架構設計的目的
是為了解決系統(tǒng)復雜度帶來的問題壹置,并不是要面面俱到竞思,不需要每個架構都具備高性能、高可用钞护、高擴展等特點盖喷,而是要識別出實際業(yè)務實際情況的復雜點,然后有有針對性地解決問題难咕,即:有的放矢课梳,而不是貪大求全,即:

  • 確定系統(tǒng)邊界余佃。確定系統(tǒng)在技術層面上的做與不做暮刃。
  • 確定系統(tǒng)內模塊之間的關系。確定模塊之間的依賴關系及模塊的宏觀輸入與輸出爆土。
  • 確定指導后續(xù)設計與演化的原則沾歪。使后續(xù)的子系統(tǒng)或模塊設計在一個規(guī)定的框架內繼續(xù)演化。
  • 確定非功能性需求雾消。非功能性需求是指安全性灾搏、可用性、可擴展性等立润。

在實際情況中狂窑,不一定每個系統(tǒng)都要做架構設計,需要結合實際情況桑腮。有時候最簡單的設計開發(fā)效率反而是最高的泉哈,架構設計畢竟要投入時間和人力,這部分投入如果用來盡早編碼,項目也許會更快丛晦。

2 架構設計復雜度來源

高性能

高性能

高可用

高可用

可擴展性

可擴展性

低成本奕纫、安全、規(guī)模

低成本烫沙、安全匹层、規(guī)模

3 架構設計三原則

架構設計三原則

合適原則

GFS為何在Google誕生,而不是在Microsoft誕生锌蓄,其中Google有那么龐大的數據是一個主要因素升筏,而不是因為Google的工程師比Microsoft的工程師更加聰明。

真正優(yōu)秀的架構都是企業(yè)在當前人力瘸爽、條件您访、業(yè)務等各方面約束條件下設計出來的,能夠合理地將資源整合一起并發(fā)揮出最大功效剪决,并且能迅速落地灵汪。這也是很多BAT出來的架構師到了小公司或者創(chuàng)業(yè)團隊反而做不出成績的原因,因為沒有大公司的平臺柑潦、資源识虚、積累,只是生搬硬套大公司的做法妒茬,失敗的效率非常高。

簡單原則

軟件領域的復雜性

無論是結構的復雜性還是邏輯的復雜性蔚晨,都會存在各種問題乍钻,所以架構設計時如果簡單方案和復雜的方案都可以滿足需求,最好選擇簡單的方案铭腕∫瘢《UNIX編程藝術》總結的KISS(Keep It Simple,Stupid!)原則一樣適用于架構設計。

演化原則

對于軟件系統(tǒng)來說累舷,變化才是主題浩考。軟件架構需要根據業(yè)務的發(fā)展而不斷變化。
如果沒有把握“軟件架構需要根據業(yè)務發(fā)展不斷變化”這個本質被盈,在做架構設計的時候就很容易陷入一個誤區(qū):試圖一步到位設計一個軟件架構析孽,期望不管業(yè)務如何變化,架構都穩(wěn)如磐石只怎。

為了實現(xiàn)這樣的目標袜瞬,要么照搬業(yè)界大公司公開發(fā)表的方案;要么投入龐大的資源和時間來做各種各樣的預測身堡、分析邓尤、設計。無論哪種做法,后果都很明顯:投入巨大汞扎,落地遙遙無期季稳。更讓人沮喪的是,就算跌跌撞撞拼死拼活終于落地澈魄,卻發(fā)現(xiàn)很多預測和分析都是不靠譜的景鼠。

實踐中,架構師要提醒自己不要貪大求全一忱,遵循演化優(yōu)于一步到位的原則莲蜘,因為業(yè)務的發(fā)展和變化總是很快的,無論多牛的團隊帘营,都不可能完美預測所有的業(yè)務發(fā)展和變化路徑票渠。實踐中可以參考如下建議:

  • 首先,設計出來的架構要滿足當時的業(yè)務需要芬迄。

  • 其次问顷,架構要不斷地在實際應用過程中迭代,保留優(yōu)秀的設計禀梳,修復有缺陷的設計杜窄,改正錯誤的設計,去掉無用的設計算途,使得架構逐漸完善塞耕。

  • 第三,當業(yè)務發(fā)生變化時嘴瓤,架構要擴展扫外、重構,甚至重寫廓脆;代碼也許會重寫筛谚,但有價值的經驗、教訓停忿、邏輯驾讲、設計等卻可以在新架構中延續(xù)。

4 架構設計的流程

架構設計的流程

參考資料:

從0開始學架構——李運華

架構藍圖--軟件架構 "4+1" 視圖模型

《阿里巴巴開發(fā)手冊(詳盡版)》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末席赂,一起剝皮案震驚了整個濱河市吮铭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颅停,老刑警劉巖沐兵,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異便监,居然都是意外死亡扎谎,警方通過查閱死者的電腦和手機碳想,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來毁靶,“玉大人胧奔,你說我怎么就攤上這事≡み海” “怎么了龙填?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拐叉。 經常有香客問我岩遗,道長,這世上最難降的妖魔是什么凤瘦? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任宿礁,我火速辦了婚禮,結果婚禮上蔬芥,老公的妹妹穿的比我還像新娘梆靖。我一直安慰自己,他們只是感情好笔诵,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布返吻。 她就那樣靜靜地躺著,像睡著了一般乎婿。 火紅的嫁衣襯著肌膚如雪测僵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天谢翎,我揣著相機與錄音捍靠,去河邊找鬼。 笑死岳服,一個胖子當著我的面吹牛,可吹牛的內容都是我干的希俩。 我是一名探鬼主播吊宋,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颜武!你這毒婦竟也來了璃搜?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鳞上,失蹤者是張志新(化名)和其女友劉穎这吻,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體篙议,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡唾糯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年怠硼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移怯。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡香璃,死狀恐怖,靈堂內的尸體忽然破棺而出舟误,到底是詐尸還是另有隱情葡秒,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布嵌溢,位于F島的核電站眯牧,受9級特大地震影響,放射性物質發(fā)生泄漏赖草。R本人自食惡果不足惜学少,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疚顷。 院中可真熱鬧旱易,春花似錦、人聲如沸腿堤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笆檀。三九已至忌堂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酗洒,已是汗流浹背士修。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留樱衷,地道東北人棋嘲。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像矩桂,于是被迫代替她去往敵國和親沸移。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容