1. 程式人生 > >一篇文章了解架構師能力模型

一篇文章了解架構師能力模型

並且 The 恢復 網絡應用 -m 異步 分享 list 圖片

每一個技術人都有著一個架構師的夢,希望自己有朝一日能登上技術之巔,以下結合我自己13年的從業經驗,分別從架構師進階之路、架構師能力模型(這裏是亮點)、架構師技能樹、架構師業務技能樹談起,完整的剖析一個好的架構師的能力模型,希望這篇文章能讓大家清晰的了解架構師的能力和要求,以及找到自己的不足,努力去提升自己缺乏的技能(不僅僅只是技術)。
本文作者,陳睿|mikechen,優知學院創始人,曾先後歷任淘寶高級研發工程師、盛大高級架構師、百度技術經理、攜程定制旅遊CTO。

技術進階之路

技術分享圖片

上圖是一個完整的技術進階之路,今天我們重點是談架構師,我先從架構師進階之路談起,然後我們一步步往裏講,完整的剖析架構師能力模型。

架構師進階之路

1 架構師胚胎(程序員)

工作年限1-3年左右,掌握程序相關的基礎知識:語言編程開發、基本的數據結構、基本的算法掌握、對熟練使用常用的語言開發環境:java、c#、c++、go、groovy、php、python等相關的開發環境、基本的數據庫知識(還到不了性能調優)、基礎的設計模式(eg:工廠模式等 )、常用的通訊協議等。

2、架構師萌芽(高級程序員)

工作年限一般3-5年,如果你做研發超過了5年還是處於重復搬磚的節奏,還沒有考慮代碼效率以及避免重復造輪的情況,還不能算到高級。

這個階段需要掌握的知識,比如:掌握更多的設計模式、操作系統原理、分布式系統原理、常見的性能調優方案:數據庫端(事務超時、索引如何優化、高效sql等)、應用端、web端(靜態分離怎麽做)等、高並發基礎場景..

3、架構師幼苗

工作超過5年,身經百戰的同時,至少必須參與個一個次大型項目,你還不能完全操盤一個大項目的架構設計,但至少對整個架構設計整體有一定的了解,比如:單點登錄、分布式緩存的場景、異步消息場景…典型的基礎架構設計怎麽實現。以及從理論的角度,透徹領會應用設計模式、JVM的原理、listener、filter等為什麽要這樣設計…了解技術的核心原理。

4、架構師

如果你經歷了上述3個步驟階段的項目操練,如果在這個階段,你能獨自帶隊操盤一個中型、大型項目的架構設計,並且從架構設計的角度:效率、可維護性、可擴展、容錯…能勝任這個項目並且成功上線,這是一個標誌性的架構師節點,獨立勝任中、大型項目架構設計操盤手。

架構師再往上進階,就會涉及到上圖提到的技術總監以及CTO,如果有興趣的同學可以參考我之前寫的這篇文章一篇文章搞懂高級程序員、架構師、技術經理、技術總監、CTO,從薪資到技能要領的區別

備註:架構師並不只是技術進階的終點,還可以繼續往技術總監和CTO進階。

架構師完整能力模型

架構師的職責應該是立足於技術和業務之間的中間角色或者平衡點, 在針對業務深刻理解的基礎上,針對業務中存在諸多變數,挑選適合的技術架構和技術方案。

年薪百萬的架構師,基本屬於公司的首席架構師,需要包含兩塊能力,而不僅僅只是技術能力。

技術分享圖片

這兩塊能力分別包含:技術能力和業務能力。

架構師技術能力

技術分享圖片
分層的應用設計思想:SOA,事件驅動等。

分布式原理:CAP,最終一致性,冪等操作等

大型網絡應用結構

技術分享圖片
消息中間件,分布式緩存,負載均衡,集群技術,數據同步等,詳細請查看一篇文章了解架構設計的本質,文章裏有詳細的描述。

還有高可用,可容災分布式系統設計能力

容災系統,作為為計算機信息系統提供的一個能應付各種災難的環境,尤其是計算機病毒、掉電、網絡/通信失敗、硬件/軟件錯誤和人為操作錯誤等人為災難時,容災系統將保證用戶數據的安全性(數據容災),甚至,一個更加完善的容災系統,還能提供不間斷的應用服務(應用容災)。可以說,容災系統是數據存儲備份的最高層次。

例如,淘寶在早期就遇到過機房停電的情況,所以才促使了後來的機房容災的能力,保證服務穩定。尤其是當發生災難性事件並對IDC節點產生影響時,能夠具備節點級別的快速恢復能力,保障系統的持續可用。

去年攜程也遇見了一次幾乎一整天的宕機事故,後來發現是自動化部署的的腳本的問題,代碼重新部署,重新執行腳本,不斷把數據等等都刪除,這也算是人為事故中的經典案例。

還有大容量數據存儲和檢索系統設計能力、數據庫分區,NoSQL,搜索引擎、自動化部署、回滾機制等,以及監控系統等等,這些知識體系,敬請關註我後續的文章和課程。

架構師業務能力

技術架構的目的是為了服務好業務,技術離開了業務,就是空談。所以,對於好的架構師來講,需要對業務有本質的理解,技術再牛逼,解決不了業務的問題也是沒用的。所以一定要站在業務的角度去了解他們的需求,它到底是要並發高還是流量高,還是要分布式,還是要高可用。

技術分享圖片

這就是業務分析能力

架構師需要學會基於自己的經驗知識進行分析,把業務語言轉換成產品語言、開發語言。這樣在跟產品、研發團隊的溝通中,才能完成信息的有效、高保真傳遞。當然,這就涉及到溝通能力,因為團隊協作需要良好的溝通。

開啟你的架構進階之旅

總之,要想成為優秀的架構師,需要時間實踐(提升技術能力),也需要不斷的深入業務分析(提升業務能力),再加上自己的領悟能力(需要時間閱歷),這才是一個有效的路徑。

以上就是我對架構師完整能力模型的拆解,希望對你有所幫助:)


本文標題:一篇文章了解架構師能力模型

本文地址:http://youzhixueyuan.com/an-article-understands-the-architects-ability-model.html

一篇文章了解架構師能力模型