什么是架構(gòu)丹诀,什么是架構(gòu)師?

架構(gòu)師.png

什么是架構(gòu),什么是架構(gòu)師铆遭?這似乎是聊架構(gòu)話題時永恒的問題扁藕。
從內(nèi)心講我真的不想回答架構(gòu)具體需要做什么,架構(gòu)師應(yīng)該具體負責什么疚脐。因為從實際情況看亿柑,在不同的系統(tǒng)層級,不同的需求下架構(gòu)師的職責也會不同棍弄;從不同的技術(shù)角度看望薄,架構(gòu)師又是個變色龍——一時是技術(shù)的大拿,一時是技術(shù)的規(guī)劃者呼畸,一時是技術(shù)團隊的指揮者痕支。

那么,該如何回答“什么是架構(gòu)蛮原,什么是架構(gòu)師”這個問題呢卧须?這或許需要先搞清楚另外一個問題——一名程序員是如何走上架構(gòu)師之路的?我從許多朋友那里了解到了很多實際案例儒陨,程序員走上架構(gòu)師之路花嘶,總結(jié)起來最多的原因是因為他早前代碼寫的好。

那么蹦漠,代碼寫的好就是架構(gòu)嗎椭员?顯然不是。代碼寫的好只是表象笛园,做所有事情都需要規(guī)劃隘击,尤其是一個復(fù)雜的軟件系統(tǒng),這更需要規(guī)劃研铆,否則可能連一行代碼都寫不出埋同。復(fù)雜的軟件系統(tǒng)一定會需要做很多抽象設(shè)計、對象規(guī)劃棵红、接口規(guī)劃等準備動作凶赁。也就是“上一輩程序員”口中所說的:詳細設(shè)計。做架構(gòu)主要的事情也依舊如此窄赋,需要對整個系統(tǒng)進行系統(tǒng)的規(guī)劃:模塊哟冬、通訊楼熄、邊界忆绰、擴展、技術(shù)下沉等工作可岂。這樣的規(guī)劃完成之后項目方能正常跑起來错敢。

當然,架構(gòu)也不僅僅是規(guī)劃,還要做的另一件大事就是技術(shù)識別稚茅。識別出系統(tǒng)中技術(shù)的難易區(qū)域纸淮,并分解復(fù)雜技術(shù),使之成為一個個技術(shù)的黑盒子亚享,在此之上再進行新的技術(shù)規(guī)劃咽块,使整個系統(tǒng)從技術(shù)角度來看是分層次的,從難到易欺税,從大到小侈沪,但各層之間又是互相的黑盒。這也常說的讓系統(tǒng)模塊間達到“雞犬相聞老死不相往來“的狀態(tài)晚凿。

系統(tǒng)技術(shù)的識別完成之后還要對另一種技術(shù)進行識別亭罪,即人的技術(shù)。什么樣的工程師適合寫哪一層的代碼歼秽,那一層的技術(shù)對程序員技術(shù)的深入程度要求到哪個點上应役。在做完這些事情整個架構(gòu)表面上看是平穩(wěn)進行了。

但實際上燥筷,架構(gòu)的問題一定會再次前來打擾:首先是測試工程師來詢問“對于整體系統(tǒng)架構(gòu)而言這個應(yīng)用該如何更好的被測試箩祥?”“我們需要用什么樣的技術(shù)來更好地保證軟件的質(zhì)量?”然后是運維工程師來詢問“該系統(tǒng)將跑在什么樣的環(huán)境之上肆氓?”“我們應(yīng)該提供什么樣的服務(wù)器滥比?”“服務(wù)器上我們會做哪些配置和安裝哪些基礎(chǔ)軟件?”“我們需要提供一個什么樣的網(wǎng)絡(luò)環(huán)境做院?”“有什么樣特殊的網(wǎng)絡(luò)配置盲泛?”“我們需要做哪些安全策略?”……此時键耕,架構(gòu)師不時會像是一個掉入冰洞的獵人無比無助寺滚,頭頂成群的蒼蠅飛著,這些問題屈雄,有的懂點村视,有的不專業(yè),還有的聽說過沒干過酒奶,有些僅限知道原理蚁孔。其實這些辣手的事情是考驗架構(gòu)師的一種能力:技術(shù)的寬度。

一個架構(gòu)師需要足夠的技術(shù)的寬度惋嚎。從軟件到硬件杠氢,從開發(fā)到測試,從運維到安全等都需要面面俱到的了解另伍。當然你可能不是這單方面領(lǐng)域里面最深入的人鼻百,但是你需要知道它們是怎么做的(不僅僅是皮毛,要深入原理),并且要知道它們組合起來是個什么樣的東西温艇。技術(shù)面也足夠?qū)捔酥笠虮遣皇蔷蜁蔀橥昝兰軜?gòu)師呢?

答案是不會勺爱,因為還有新的問題要過來晃琳。這次的問題諸如“系統(tǒng)在未來的運行過程中運維需要做什么?”“系統(tǒng)在未來的功能迭代中如何更方便的擴展琐鲁?”“系統(tǒng)應(yīng)該怎么修改蝎土?”“系統(tǒng)應(yīng)該被怎么樣升級?”這時的你是不時很困惑绣否?是不是感覺這個架構(gòu)的世界好長啊誊涯,怎么像保姆一樣什么都要管。但仔細想想這是應(yīng)該的蒜撮,因為一個系統(tǒng)初次開發(fā)并交付只是它生命周期中的一小部分而已暴构。后面的維護、改造段磨、升級才占了整個軟件生命周期的絕大部分時間取逾。你是它的架構(gòu)設(shè)計者,是它靈魂之所在苹支,你當然應(yīng)該設(shè)計好它的未來砾隅。這也是架構(gòu)師做好的最后一件事情:系統(tǒng)未來的設(shè)計。

仔細想想债蜜,上文提到的這些案例全是架構(gòu)的糗事晴埂,但糗事其實是架構(gòu)師成長路上的必經(jīng)之路。因為一個沒有經(jīng)歷失敗的架構(gòu)師一定不是個好的架構(gòu)師寻定。只有經(jīng)歷各種苦難儒洛,越過各種坑和各種痛苦之后才能成為一個優(yōu)秀的架構(gòu)師。架構(gòu)師也是一個很獨特職業(yè),不像現(xiàn)代教育里已經(jīng)很成熟的人文和物理教育體系,勤奮的人大都能經(jīng)過系統(tǒng)的閱讀和教育能走向成功咙俩。架構(gòu)更像一種藝術(shù)、一門哲學恼蓬,架構(gòu)師們也仿佛經(jīng)過多年積累后忽然間就像打通了任督二脈。那么走向架構(gòu)師的路是不是無跡可尋呢僵芹?——這個問題留個大家來思考处硬。
架構(gòu)師的定義?
個人覺得架構(gòu)師需要具有以下幾特點:

知識廣度:需要知道主流技術(shù)為什么誕生淮捆,能解決什么問題郁油?如果同一種業(yè)務(wù)用不用的技術(shù)來實現(xiàn),會有什么哪些優(yōu)缺點攀痊?比如:流行的ORM框架Mybatis 和 hibernate 桐腌,他們之間的優(yōu)缺點是什么?要有清晰的認識會能在技術(shù)造型時做出正確的決定苟径。

抽象能力:對業(yè)務(wù)和技術(shù)進行抽象案站。業(yè)務(wù)抽象就是對需求進行分析后,能夠建立完美的實體類以及他們之間的聯(lián)系棘街。技術(shù)抽象是對整體架構(gòu)進行一個分層蟆盐,各層之間的交互。這至關(guān)重要遭殉,如果技術(shù)抽象能力不足石挂,這會導致整個系統(tǒng)的架構(gòu)不靈活,難以維護和擴展险污。

知識的深度:至少是某個領(lǐng)域的專家痹愚,比如消息隊列,activeMQ熟悉其源碼蛔糯,知道其實現(xiàn)拯腮。

優(yōu)秀的學習能力:對新的技術(shù)和前沿性的技術(shù)進行學習,使用它來解決工作中的業(yè)務(wù)問題蚁飒。

那么你該如何去做呢?我覺得可以從以下幾個步驟開始:

1: 扎實的JAVA 基礎(chǔ)动壤,Think in java上介紹的內(nèi)容都能理解,做到這一步恭喜成為了程序員淮逻。

2:熟練使用主流框架琼懊,如:mybatis,spring 等爬早。

3:研究過至少一種以web框架的源碼肩碟,如spring mvc ,struts 等凸椿。

4:架構(gòu)過或者參與過高并發(fā)系統(tǒng)設(shè)計削祈,知道如何應(yīng)對突發(fā)情況。

5:對自己所處的業(yè)務(wù)能夠根據(jù)自己的知識維度脑漫,提出優(yōu)化建議或者預(yù)測其風險點髓抑。

其實能否成為架構(gòu)師跟機遇有很大關(guān)系,比如一個程序員优幸,以上都做到了吨拍,但是公司并沒有給他這個機會去做,一個真正架構(gòu)的機會网杆。因為之前的架構(gòu)師不離職他就沒有機會羹饰,這就是現(xiàn)實伊滋!
如果你想學習Java工程化、高性能及分布式队秩、高性能笑旺、深入淺出。性能調(diào)優(yōu)馍资、Spring筒主,MyBatis,Netty源碼分析和大數(shù)據(jù)等知識點可以來找我鸟蟹。而現(xiàn)在我就有一個平臺可以提供給你們學習乌妙,你想拿高薪的,想學習的建钥,想就業(yè)前景好的藤韵,想跟別人競爭能取得優(yōu)勢的,想進阿里面試但擔心面試不過的熊经,你都可以來荠察,群號為:668395460
注:加群要求
1、具有1-5工作經(jīng)驗的奈搜,面對目前流行的技術(shù)不知從何下手悉盆,需要突破技術(shù)瓶頸的可以加。
2馋吗、在公司待久了焕盟,過得很安逸,但跳槽時面試碰壁宏粤。需要在短時間內(nèi)進修脚翘、跳槽拿高薪的可以加。
3绍哎、如果沒有工作經(jīng)驗来农,但基礎(chǔ)非常扎實,對java工作機制崇堰,常用設(shè)計思想沃于,常用java開發(fā)框架掌握熟練的,可以加海诲。
4繁莹、覺得自己很牛B,一般需求都能搞定特幔。但是所學的知識點沒有系統(tǒng)化咨演,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加。
5.阿里Java高級大牛直播講解知識點蚯斯,分享知識薄风,多年工作經(jīng)驗的梳理和總結(jié)饵较,帶著大家全面、科學地建立自己的技術(shù)體系和技術(shù)認知遭赂!
6.小號加群一律不給過循诉,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嵌牺,一起剝皮案震驚了整個濱河市打洼,隨后出現(xiàn)的幾起案子龄糊,更是在濱河造成了極大的恐慌逆粹,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炫惩,死亡現(xiàn)場離奇詭異僻弹,居然都是意外死亡,警方通過查閱死者的電腦和手機他嚷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門蹋绽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人筋蓖,你說我怎么就攤上這事卸耘。” “怎么了粘咖?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵蚣抗,是天一觀的道長。 經(jīng)常有香客問我瓮下,道長翰铡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任讽坏,我火速辦了婚禮锭魔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘路呜。我一直安慰自己迷捧,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布胀葱。 她就那樣靜靜地躺著党涕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巡社。 梳的紋絲不亂的頭發(fā)上膛堤,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音晌该,去河邊找鬼肥荔。 笑死绿渣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的燕耿。 我是一名探鬼主播中符,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼誉帅!你這毒婦竟也來了淀散?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蚜锨,失蹤者是張志新(化名)和其女友劉穎档插,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亚再,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡郭膛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了氛悬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片则剃。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖如捅,靈堂內(nèi)的尸體忽然破棺而出棍现,到底是詐尸還是另有隱情,我是刑警寧澤镜遣,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布己肮,位于F島的核電站,受9級特大地震影響烈涮,放射性物質(zhì)發(fā)生泄漏朴肺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一坚洽、第九天 我趴在偏房一處隱蔽的房頂上張望戈稿。 院中可真熱鬧,春花似錦讶舰、人聲如沸鞍盗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽般甲。三九已至,卻和暖如春鹅颊,著一層夾襖步出監(jiān)牢的瞬間敷存,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工堪伍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锚烦,地道東北人觅闽。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像涮俄,于是被迫代替她去往敵國和親蛉拙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

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

  • 什么是架構(gòu)畸肆,什么是架構(gòu)師? ——這似乎是聊架構(gòu)話題時永恒的問題野来。 從內(nèi)心講我真的不想回答架構(gòu)具體需要做什么恼除,架構(gòu)師...
    Java架構(gòu)師Carl閱讀 1,850評論 3 42
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,846評論 25 707
  • 早餐 豆?jié){一杯~香芋蛋白雞蛋餅~奶疙瘩一塊~泡菜~核桃一個 雞蛋餅配方 雞蛋一個 薄荷的超模代餐粉或其他蛋白粉 水...
    帥一臉怎么辦閱讀 196評論 0 0
  • 自我覺察: 念頭 具體事項:早上起床后踪旷,我期待與母親在吃飯過程中曼氛,聊一聊這兩天的想法以及想明白了成長過程中一些困惑...
    WalkingRoses閱讀 257評論 0 0
  • 習慣的引力就如同自然界所有的力量一般,可以為我們所用令野,也可能危害我們舀患,關(guān)鍵看我們?nèi)绾芜\用。不過气破,習慣或許一時有礙于...
    小淑愛酷仔閱讀 1,029評論 0 1