Java架構(gòu)師的5大基本能力你知道嗎
總體而言,架構(gòu)師負(fù)責(zé)軟件領(lǐng)域的頂層設(shè)計(jì)。架構(gòu)師需要根據(jù)公司的發(fā)展,規(guī)劃企業(yè)未來(lái)若干年的架構(gòu),制定可落地的架構(gòu)方案,解決技術(shù)難題,做技術(shù)選型與攻關(guān),落地具體的架構(gòu)。優(yōu)秀的架構(gòu)師既能做架構(gòu)方案,也能寫(xiě)具體的架構(gòu)代碼。
架構(gòu)師要求比較高,要有架構(gòu)的廣度、深度,需要掌握一系列的架構(gòu)技術(shù)棧,要求有架構(gòu)實(shí)戰(zhàn)經(jīng)驗(yàn),要有很強(qiáng)的系統(tǒng)分析、系統(tǒng)架構(gòu)、系統(tǒng)設(shè)計(jì),業(yè)務(wù)分析的能力
首先要有架構(gòu)師的思維,對(duì)分布式、高并發(fā)、高性能、高可用、可擴(kuò)展、松耦合、高內(nèi)聚、可復(fù)用、系統(tǒng)邊界、安全等方面有深刻的理解 。
技術(shù)面要廣,熟悉架構(gòu)技術(shù)棧,比如:熟悉微服務(wù),緩存,分布式消息中間件,分布式任務(wù)中間件,數(shù)據(jù)層中間件,分布式監(jiān)控中間件,網(wǎng)關(guān)中間件,分布式配置中心等等,并不是所有的技術(shù)棧要非常精通,但重要的技術(shù),一定要掌握得非常深 。
掌握好uml,提升個(gè)人系統(tǒng)分析、系統(tǒng)架構(gòu)、系統(tǒng)設(shè)計(jì)、畫(huà)業(yè)務(wù)架構(gòu)圖、技術(shù)架構(gòu)圖、寫(xiě)架構(gòu)方案等方面的能力 。
有一定的技術(shù)廣度,做技術(shù)選型是從技術(shù)的使用場(chǎng)景,優(yōu)缺點(diǎn)等方面綜合評(píng)估的。例如很多企業(yè)用RocketMQ和kafka,大數(shù)據(jù)基本100%選kafka.
業(yè)務(wù)架構(gòu)師與基礎(chǔ)架構(gòu)師區(qū)別
對(duì)于java程序猿而言,架構(gòu)師分為業(yè)務(wù)架構(gòu)師,基礎(chǔ)架構(gòu)師兩大類(lèi),從高級(jí)開(kāi)發(fā)轉(zhuǎn)成業(yè)務(wù)架構(gòu)師,難度小,出成績(jī)快。業(yè)務(wù)架構(gòu)和基礎(chǔ)架構(gòu)有70%是一樣的,那就是都要求有架構(gòu)能力,剩下的30%是業(yè)務(wù)架構(gòu)要求熟練掌握業(yè)務(wù),制定架構(gòu)方案,架構(gòu)落地,基礎(chǔ)架構(gòu)則是100%要求純技術(shù)。短期而言,看似基礎(chǔ)架構(gòu)更風(fēng)光,其實(shí)不然。業(yè)務(wù)架構(gòu)發(fā)展前景更好一些,因?yàn)?5歲以后,拼的是綜合能力,不再是純架構(gòu)能力。業(yè)務(wù)架構(gòu)要求有更好的溝通能力,架構(gòu)規(guī)劃,架構(gòu)落地能力,一定的行業(yè)業(yè)務(wù)背景,甚至管理能力,所以從業(yè)務(wù)架構(gòu)更容易做到技術(shù)總監(jiān)或cto。如果一直做基礎(chǔ)架構(gòu),那么可能是首席架構(gòu)師。一般的架構(gòu)老司機(jī)是業(yè)務(wù)架構(gòu),基礎(chǔ)架構(gòu)通吃的,好就業(yè)。
如何做技術(shù)選型?
技術(shù)選型是個(gè)能力活兒,架構(gòu)師經(jīng)常做技術(shù)選型,會(huì)出有答案的選擇題,有幾種方案,給到技術(shù)高管或者開(kāi)發(fā)團(tuán)隊(duì)。而不是一上來(lái)就是寫(xiě)架構(gòu)代碼。失職的架構(gòu)師是給技術(shù)領(lǐng)導(dǎo)或者技術(shù)團(tuán)隊(duì)出問(wèn)答題,長(zhǎng)期出問(wèn)答題,基本可以走人了。架構(gòu)師要有一定的架構(gòu)功力,會(huì)給領(lǐng)導(dǎo)或技術(shù)團(tuán)隊(duì)出選擇題,總有一款技術(shù)適合的,比較每一種技術(shù)(方案)的優(yōu)缺點(diǎn),技術(shù)領(lǐng)導(dǎo)或者技術(shù)團(tuán)隊(duì)會(huì)很喜歡的,以技服人。架構(gòu)思路一般是 :?jiǎn)栴}(背景)--》技術(shù)調(diào)研(選型)---》規(guī)劃(方案)---》落地(擼代碼),任何架構(gòu)或者技術(shù),都要解決問(wèn)題的,要有價(jià)值。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Mybatis集成Spring的實(shí)例代碼_動(dòng)力節(jié)點(diǎn)Java 學(xué)院整理
這篇文章主要介紹了Mybatis集成Spring的實(shí)例代碼,需要的朋友可以參考下2017-09-09Mybatis-plus如何查詢(xún)表中指定字段(不查詢(xún)?nèi)孔侄?
這篇文章主要介紹了Mybatis-plus如何查詢(xún)表中指定字段(不查詢(xún)?nèi)孔侄?,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07SpringBoot使用Micrometer實(shí)現(xiàn)度量和監(jiān)控
在構(gòu)建和維護(hù)現(xiàn)代應(yīng)用程序時(shí),度量和監(jiān)控是至關(guān)重要的,它們可以幫助您了解應(yīng)用程序的性能、穩(wěn)定性和可用性,本文將介紹如何在Spring Boot應(yīng)用程序中使用Micrometer進(jìn)行度量和監(jiān)控,需要的朋友可以參考下2023-10-10Java實(shí)現(xiàn)整數(shù)的逆序輸出的三種方法
這篇文章主要介紹了Java實(shí)現(xiàn)整數(shù)的逆序輸出的三種方法,第一種是無(wú)限制整數(shù)的逆序輸出,第二種是非負(fù)整數(shù)的逆序輸出,第三種是非特殊情況的逆序輸出,每種方法給大家講解的非常詳細(xì)需要的朋友可以參考下2022-11-11Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析
這篇文章主要介紹了Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析,多態(tài)是面向?qū)ο缶幊陶Z(yǔ)言的重要特性,它允許基類(lèi)的指針或引用指向派生類(lèi)的對(duì)象,而在具體訪問(wèn)時(shí)實(shí)現(xiàn)方法的動(dòng)態(tài)綁定,需要的朋友可以參考下2024-01-01解決@Value注解不能注入static修飾的屬性問(wèn)題
這篇文章主要介紹了解決@Value注解不能注入static修飾的屬性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07簡(jiǎn)單了解SPRINGIOC的底層原理演變過(guò)程
這篇文章主要介紹了簡(jiǎn)單了解SPRINGIOC的底層原理演變過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10