更新時(shí)間:2022-07-14 來源:黑馬程序員 瀏覽量:
在互聯(lián)網(wǎng)開發(fā)領(lǐng)域,架構(gòu)師可以分為業(yè)務(wù)架構(gòu)師、中間件架構(gòu)師、系統(tǒng)架構(gòu)師。 根據(jù)不同的方向,在相關(guān)招聘平臺(tái)上,對(duì)于架構(gòu)師的崗位職責(zé)和任職要求各有不同。在招聘網(wǎng)站上可以看到真實(shí)的例子:
Java架構(gòu)師(點(diǎn)擊查看大圖)
中間件架構(gòu)師(點(diǎn)擊查看大圖)
系統(tǒng)架構(gòu)師(點(diǎn)擊查看大圖)
以上是三種不同架構(gòu)師的能力要求,雖然類型不同,技術(shù)要求側(cè)重不同,但是我告訴你,成為架構(gòu)師都要具備以下能力。
成為架構(gòu)師要掌握全面的技術(shù)棧,一切技術(shù)皆工具,包括開發(fā)語(yǔ)言、框架、各種中間件都是工具,要達(dá)到熟練使用,了解其原理和長(zhǎng)短板,具備合適場(chǎng)景合理選型和靈活運(yùn)用的能力。
比如要成為業(yè)務(wù)架構(gòu)師,那么必須掌握J(rèn)ava生態(tài)圈方方面面的技術(shù)。如何做到呢?首先需要把所有技術(shù)列出來,然后將自己現(xiàn)在所擁有的技術(shù)跟這個(gè)圖表做一個(gè)匹配,標(biāo)出里面哪些熟悉,哪些還有待提升,最后把有待提升的技術(shù)學(xué)會(huì)。
我們常說道與術(shù)的問題,架構(gòu)思維就是架構(gòu)師的“道”。
隨著工作時(shí)間的增長(zhǎng),會(huì)悟出一些道理,感受到一些規(guī)律性的東西,這些東西可能現(xiàn)在大家覺得有點(diǎn)虛,但是慢慢地大家會(huì)認(rèn)可。
(1)知行合一,做之前,先考慮意義 在做某件事之前,一定要知道自己的目的是什么。目的和做的事情兩者要合一,這是第一個(gè)層面。 第二個(gè)層面是清楚地知道你手里的資源允許你干什么事。比如說Spring Cloud,我很想去用,但是我的團(tuán)隊(duì)hold不住,你強(qiáng)行把這個(gè)東西推下去之后,事情做的并不成功。結(jié)果還是需要你承擔(dān)責(zé)任。
(2)原生優(yōu)于定制,約定大于配置 如果你沒有特殊需求的話,官方的東西最好,保持原樣,除非它不滿足你的要求,你再去定制它。因?yàn)槟愀牧酥?,一旦發(fā)生問題,你很難摸清楚錯(cuò)誤發(fā)生在什么地方。而如果官方的出現(xiàn)問題,整個(gè)社區(qū)都在給你撐著,你就能夠及時(shí)地把這東西補(bǔ)上去。
(3)什么都是,最后會(huì)淪落到什么都不是 這是我早期搞架構(gòu)的時(shí)候犯的一個(gè)錯(cuò)誤。當(dāng)時(shí)我老想著做一套完整的系統(tǒng),無論你想做什么樣的業(yè)務(wù),拿來之后稍微一修改什么都能支撐,后來發(fā)現(xiàn)根本不是我想的那樣,它幾乎什么都不能支持。就像造汽車,偏舒適還是運(yùn)動(dòng),兩者兼顧的沒有。
(4)控制技術(shù)欲,不要瞎折騰 看到新技術(shù)就想用到自己的系統(tǒng)中的,這不是一個(gè)好架構(gòu)師的行為。做架構(gòu)的前提是穩(wěn),這是底線,試錯(cuò)一定在生產(chǎn)環(huán)境中。
(5)留下擴(kuò)展,但不要想到100年后 當(dāng)代人做當(dāng)代人的事情,不要考慮那么久遠(yuǎn)。當(dāng)代留下的坑,只能留給后代補(bǔ)。
(6)沒有最好的,只有最合適的 跟第3條比較像,但第3條是廣度上,這一條是深度上,垂直領(lǐng)域不要總想做到最完美。
(7)夠用就好,玩的越花,風(fēng)險(xiǎn)越大 比如有人玩 ++i++;finally(return);if(賦值) ,這都太花了,風(fēng)險(xiǎn)很大。
(8)大巧不工,簡(jiǎn)約最美 要把代碼寫的很簡(jiǎn)約,很優(yōu)雅。
具備日常場(chǎng)景下的解決方案積累,舉幾個(gè)例子:
單點(diǎn)登錄
分布式事務(wù)及數(shù)據(jù)一致性
秒殺并發(fā)場(chǎng)景
復(fù)雜工作流
超高并發(fā)、吞吐量
你的思維和設(shè)計(jì)要落地,必須具備團(tuán)隊(duì)層面推進(jìn)事情進(jìn)展的能力(尤其架構(gòu)團(tuán)隊(duì)的leader)
人脈很重要,隨著職位的提升,段位的提升,需要一定的背書。
以上就是架構(gòu)師要具備的能力,其中技術(shù)掌控力可以很快通過學(xué)習(xí)來提升。方法就是羅列全面的技術(shù)棧,然后對(duì)號(hào)入座,找到自己的短板,最后逐個(gè)攻破。