對于大部分小伙伴來說,對系統(tǒng)架構(gòu)師很非常陌生,甚至都沒有聽說過,那么什么是系統(tǒng)架構(gòu)師呢?系統(tǒng)架構(gòu)師應(yīng)該需要學(xué)習(xí)什么呢?現(xiàn)在小編給大家介紹一下。
什么是系統(tǒng)架構(gòu)師呢?
系統(tǒng)架構(gòu)師是一個最終確認和評估系統(tǒng)需求,給出開發(fā)規(guī)范,搭建系統(tǒng)實現(xiàn)的核心構(gòu)架,并澄清技術(shù)細節(jié)、掃清主要難點的技術(shù)人員。主要著眼于系統(tǒng)的“技術(shù)實現(xiàn)”。因此他/她應(yīng)該是特定的開發(fā)平臺、語言、工具的大師,對常見應(yīng)用場景能給出最恰當(dāng)?shù)慕鉀Q方案,同時要對所屬的開發(fā)團隊有足夠的了解,能夠評估自己的團隊實現(xiàn)特定的功能需求需要的代價。 系統(tǒng)架構(gòu)師負責(zé)設(shè)計系統(tǒng)整體架構(gòu),從需求到設(shè)計的每個細節(jié)都要考慮到,把握整個項目,使設(shè)計的項目盡量效率高,開發(fā)容易,維護方便,升級簡單等。
系統(tǒng)架構(gòu)師需要學(xué)什么專業(yè)?要具備哪些能力?
系統(tǒng)架構(gòu)師學(xué)的專業(yè)肯定是計算機相關(guān)專業(yè),例如計算機科學(xué)與技術(shù)、軟件工程師等。需要掌握專業(yè)知識有計算機原理基礎(chǔ)知識、編程語言知識、程序設(shè)計知識、研發(fā)綜合能力、網(wǎng)絡(luò)安全知識、Linux知識、運維知識、數(shù)據(jù)庫、常用開發(fā)相關(guān)應(yīng)用軟件、性能優(yōu)化、大數(shù)據(jù)知識、工程化、架構(gòu)基礎(chǔ)知識、架構(gòu)設(shè)計、互聯(lián)網(wǎng)公司經(jīng)典技術(shù)架構(gòu)、 GitHub上整理的一些工具和資源、平臺工具等。架構(gòu)師對技術(shù)深度和廣度非常高,同時需要一定管理能力、協(xié)調(diào)能力、溝通能力等。大部分架構(gòu)師都是從程序開發(fā)晉升的。
架構(gòu)師都有哪些種類?
1、應(yīng)用架構(gòu)師
應(yīng)用架構(gòu)師是行業(yè)中數(shù)量最多的架構(gòu)師,主要負責(zé)公司產(chǎn)品的技術(shù)架構(gòu)。產(chǎn)品架構(gòu)師需要對業(yè)務(wù)有足夠的理解,根據(jù)產(chǎn)品需求設(shè)計架構(gòu),在運營團隊的協(xié)助下評估量級,并管理項目的整個生命周期。
2、中間件架構(gòu)師
中間件架構(gòu)師主要負責(zé)基礎(chǔ)框架、公共組件,通用服務(wù)的搭建。比如分布式服務(wù)框架諸如 Dubbo,HSF;比如消息隊列諸如 RocketMQ,Kafka。在大型互聯(lián)網(wǎng)公司中,往往不是把開源框架簡單「拿來」,而是研發(fā)出符合自身業(yè)務(wù)的企業(yè)中間件。
3、基礎(chǔ)設(shè)施架構(gòu)師
基礎(chǔ)設(shè)施架構(gòu)師負責(zé)服務(wù)器資源、網(wǎng)絡(luò)資源、數(shù)據(jù)庫等基礎(chǔ)設(shè)施的建設(shè);以及持續(xù)集成工具、持續(xù)部署工具的搭建。
以上所說的三種,只是架構(gòu)師最基本的分類。一些特殊領(lǐng)域也有著專門的架構(gòu)師,比如網(wǎng)絡(luò)安全架構(gòu)師、大數(shù)據(jù)架構(gòu)師等等。
架構(gòu)師需要具備哪些能力呢?
一般來講,系統(tǒng)架構(gòu)師應(yīng)該擁有以下幾方面的能力:
1、具備 8 年以上軟件行業(yè)工作經(jīng)驗;
2、具備 4 年以上 C/S 或 B/S 體系結(jié)構(gòu)軟件產(chǎn)品開發(fā)及架構(gòu)和設(shè)計經(jīng)驗;
3、具備 3 年以上的代碼編寫工作經(jīng)驗;
4、具備豐富的大中型開發(fā)項目的總體規(guī)劃、方案設(shè)計及技術(shù)隊伍管理經(jīng)驗;
5:對相關(guān)的技術(shù)標(biāo)準(zhǔn)有深刻的認識,對軟件工程標(biāo)準(zhǔn)規(guī)范有良好的把握;
6、對 .Net/JAVA 技術(shù)及整個解決方案有深刻的理解及熟練的應(yīng) 用 ,并且精通WebService/J2EE 架構(gòu)和設(shè)計模式,并在此基礎(chǔ)上設(shè)計產(chǎn)品框架;
7、具有面向?qū)ο蠓治?、設(shè)計、開發(fā)能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設(shè)計開發(fā);
8、精通大型數(shù)據(jù)庫如 Oracle、Sql Server 等的開發(fā);
9、對計算機系統(tǒng)、網(wǎng)絡(luò)和安全、應(yīng)用系統(tǒng)架構(gòu)等有全面的認識,熟悉項目管理理論,并有實踐基礎(chǔ);
10、在應(yīng)用系統(tǒng)開發(fā)平臺和項目管理上有深厚的基礎(chǔ),有大中型應(yīng)用系統(tǒng)開發(fā)和實施的成功案例;
11、良好的團隊意識和協(xié)作精神,有較強的內(nèi)外溝通能力。