溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

漫畫:什么是架構(gòu)師?

發(fā)布時間:2020-06-04 01:42:56 來源:網(wǎng)絡(luò) 閱讀:222 作者:沙漏半杯 欄目:編程語言

漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?




于是,小灰去向大黃請教



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



這是有關(guān)未來的故事:


從前,有一個趕路的人路過一片工地,看到三個年輕人在工地上搬磚。


于是,他問其中一個人:


漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



于是,他又問了第二個人:


漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



于是,他又問了第三個人:



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



十年之后~


曾經(jīng)說自己在建造城市的年輕人,成為了市長。



漫畫:什么是架構(gòu)師?



曾經(jīng)說自己在搬磚的年輕人,成為了磚廠老板。



漫畫:什么是架構(gòu)師?



曾經(jīng)說自己在搭建教堂的年輕人,最沒出息,成為了架構(gòu)師


漫畫:什么是架構(gòu)師?




漫畫:什么是架構(gòu)師?



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


架構(gòu)師英文architect,這個詞源于建筑學(xué)。軟件工程當(dāng)中的架構(gòu)師和建筑工程當(dāng)中建筑師有許多相通之處,都是負(fù)責(zé)“產(chǎn)品”宏觀的架構(gòu)設(shè)計。


在一個團(tuán)隊里,架構(gòu)師充當(dāng)了技術(shù)Leader的角色,不僅要完成項目的整體設(shè)計和規(guī)劃,還要帶領(lǐng)技術(shù)團(tuán)隊一起解決實際問題,攻克技術(shù)難點,使得軟件的設(shè)計、開發(fā)、測試、發(fā)布流程得以順利完成。


下面這張圖,表達(dá)了一個應(yīng)用架構(gòu)師(技術(shù)Leader)在團(tuán)隊當(dāng)中的角色:



漫畫:什么是架構(gòu)師?



需要注意的是,這張圖中的架構(gòu)師只是應(yīng)用架構(gòu)師,所以運維和DBA人員沒有歸入到他的管轄范圍。同時,每個公司的具體組織結(jié)構(gòu)也不盡相同。



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



架構(gòu)師都做些什么?


1.架構(gòu)設(shè)計


架構(gòu)師,顧名思義,第一職責(zé)就是在軟件設(shè)計階段,做好軟件“骨架”的設(shè)計。架構(gòu)師需要把產(chǎn)品的需求翻譯成軟件工程的設(shè)計文檔,確定各個系統(tǒng)與模塊的邊界,評估系統(tǒng)的量級。


2.技術(shù)選型


從前端到后端,從緩存到數(shù)據(jù)庫,面對為數(shù)眾多的第三方組件,架構(gòu)師需要作出合理的選擇。


前端頁面選擇模板引擎還是動靜分離?

服務(wù)端選擇Java還是Node.js?

服務(wù)治理選擇DubboX還是Spring Cloud?

消息隊列選擇RocketMQ還是Kafka?

分布式緩存選擇Redis Cluster 還是 Codis?

數(shù)據(jù)庫選擇Mysql還是Oracle?

全文檢索選擇Solr還是ES?

技術(shù)沒有絕對的好壞之分,關(guān)鍵看是否適用于公司的業(yè)務(wù)場景。



3.管理非功能性需求


滿足需求是項目開發(fā)和架構(gòu)設(shè)計的根本,而管理非功能性需求則是項目的升華。


在公司從0到1的創(chuàng)業(yè)階段,開發(fā)者更關(guān)注的是功能性需求,往往一個簡單粗暴的MVC項目就可以搞定一切。當(dāng)業(yè)務(wù)量級逐漸增大,用戶需求逐漸多樣化,非功能性需求的重要性就逐漸顯現(xiàn)。?


非功能性需求都包含哪些內(nèi)容呢?


性能(響應(yīng)時間)?

可擴(kuò)展性(適應(yīng)需求的快速變化)

可用性 (四個9,五個9,必要時的限流和降級)

安全性(防范各種惡意***,實現(xiàn)風(fēng)控)

可監(jiān)控(完善的監(jiān)控和報警機(jī)制)

靈活性(便于非開發(fā)人員進(jìn)行配置)?

可維護(hù)(持續(xù)集成,持續(xù)部署)?

國際化(沖出國門)



4.攻克技術(shù)難題


架構(gòu)師不只需要關(guān)注宏觀的設(shè)計,也需要具有攻克技術(shù)細(xì)節(jié)的能力。在團(tuán)隊開發(fā)過程中遇到難以實現(xiàn)和優(yōu)化的技術(shù)問題時,架構(gòu)師需要發(fā)揮技術(shù)優(yōu)勢,解決系統(tǒng)的疑難雜癥。



5.技術(shù)人員的管理和指導(dǎo)


架構(gòu)師不只是一個技術(shù)大牛,也應(yīng)該是一個好的管理者,在工作中需要把較大的項目和需求拆分一個個Story,依照每個人的情況分配給研發(fā)團(tuán)隊的成員,并且在必要的時候進(jìn)行技術(shù)上的培訓(xùn)指導(dǎo)



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?



架構(gòu)師都有哪些種類?


1.應(yīng)用架構(gòu)師


應(yīng)用架構(gòu)師是行業(yè)中數(shù)量最多的架構(gòu)師,主要負(fù)責(zé)公司產(chǎn)品的技術(shù)架構(gòu)。產(chǎn)品架構(gòu)師需要對業(yè)務(wù)有足夠的理解,根據(jù)產(chǎn)品需求設(shè)計架構(gòu),在運營團(tuán)隊的協(xié)助下評估量級,并管理項目的整個生命周期。



2.中間件架構(gòu)師


中間件架構(gòu)師主要負(fù)責(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)師負(fù)責(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)師?



漫畫:什么是架構(gòu)師?



怎樣才能成為架構(gòu)師?


1.技術(shù)的深度和廣度


有一句話說得好,將軍就是更優(yōu)秀的士兵。架構(gòu)師作為程序員中的將軍,首先需要有足夠的技術(shù)深度,同時需要廣泛了解行業(yè)內(nèi)的主流技術(shù),以便更好地設(shè)計架構(gòu)和技術(shù)選型。


2.業(yè)務(wù)的理解


拋開業(yè)務(wù)談架構(gòu)就是耍流氓。這一點對應(yīng)用架構(gòu)師來說尤其重要。只有對業(yè)務(wù)有了充分的理解,才能對項目的設(shè)計和擴(kuò)展做出合理的規(guī)劃。


3.良好的溝通能力


架構(gòu)師不只是低頭做技術(shù),更需要協(xié)調(diào)指揮團(tuán)隊內(nèi)的成員,也需要跨部門和產(chǎn)品、運營、項目經(jīng)理等人員做及時有效的溝通,所以溝通能力是必不可少的。



漫畫:什么是架構(gòu)師?



漫畫:什么是架構(gòu)師?


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI