定義
軟件架構師是軟件行業中一種新興職業,工作職責是在一個軟件項目開發過程中,將客戶的需求轉換為規范的開發計劃及文本,并制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計與實施、負責軟件架構和關鍵技術決策的人員。軟件架構師應能迅速抓住問題要害,并做出合理的關鍵決定的能力,具備戰略性和前瞻性思維能力,善于把握全局,能夠在更高抽象級別上進行思考。
要求
(1)對項目開發涉及的所有問題領域都有經驗,包括徹底地理解項目需求,開展分析設計之類軟件工程活動等;
(2)具備領導素質,以在各小組之間推進技術工作,并在項目壓力下做出牢靠的關鍵決策;
(3)擁有優秀的溝通能力,用以進行說服、鼓勵和指導等活動,并贏得項目成員的信任;
(4)以目標導向和主動的方式來不帶任何感情色彩地關注項目結果,構架師應當是項目背后的技術推動力,而非構想者或夢想家(追求完美);
(5)精通構架設計的理論、實踐和工具,并掌握多種參考構架、主要的可重用構架機制和模式(例如J2EE架構等);
(6)具備系統設計員的所有技能,但涉及面更廣、抽象級別更高;活動確定用例或需求的優先級、進行構架分析、創建構架的概念驗證原型、評估構架的概念驗證原型的可行性、組織系統實施模型、描述系統分布結構、描述運行時刻構架、確定設計機制、確定設計元素、合并已有設計元素、構架文檔、參考構部署模型、構架概念驗證原型、接口、事件、信號與協議等。架、分析模型、設計模型、實施模型。

主要任務
架構師的主要任務不是從事具體的軟件程序的編寫,而是從事更高層次的開發構架工作。他必須對開發技術非常了解,并且需要有良好的組織管理能力。可以這樣說,一個架構師工作的好壞決定了整個軟件開發項目的成敗。
1、領導與協調整個項目中的技術活動(分析、設計和實施等)。
2、推動主要的技術決策,并最終表達為軟件構架。
3、確定和文檔化系統的相對構架而言意義重大的方面,包括系統的需求、設計、實施和部署等“視圖”。
4、確定設計元素的分組以及這些主要分組之間的接口。
5、為技術決策提供規則,平衡各類涉眾的不同關注點,化解技術風險,并保證相關決定被有效的傳達和貫徹。
6、理解、評價并接收系統需求。
7、評價和確認軟件架構的實現 專業技能。
小編在這里推薦阿里架構師整理PDF文檔(人人都是架構師,架構師核心知識點)。講述了分布式系統架構落地與瓶頸突破,內容:(分布式服務案例、大流量限流/消峰案例、分布式配置管理服務案例、 大促場景下熱點數據的讀/寫優化案例、數據庫分庫分表案例),想要獲取此文檔的小伙伴,幫忙點贊+轉發,然后私信我關鍵字“架構師”
因文章篇幅過長,小編在這里簡潔的展示一下目錄:
第一章 分布式服務案例
1.1 分布式系統的架構演變過程
1.2 系統服務化需求
1.3 分布式調用跟蹤系統需求

第二章 大流量限流/消峰案例
2.1 分布式系統為什么需要進行流量管制
2.2 限流的具體方案
2.3 基于時間分片的消峰方案
2.4 異步調用需求

第三章 分布式配置管理服務案例
3.1 本地配置
3.2 集中式資源配置需求

第四章 大促場景下熱點數據的讀/寫優化案例
4.1 緩存技術簡介
4.2 高性能分布式緩存redis簡介
4.3 同一熱賣商品高并發讀需求
4.4 同一熱賣商品高并發寫需求

第五章 數據庫分布式案例
5.1 關系型數據庫的架構演變
5.2 Sharding中間件
5.3 數據庫的HA方案
5.4 訂單業務冗余表需求

想要獲取此文檔的小伙伴,幫忙點贊+轉發,然后私信我關鍵字“架構師”
