Java架構(gòu)師,應(yīng)該算是一些Java程序員們的一個職業(yè)目標(biāo)了吧。很多碼農(nóng)碼了五六年的代碼也沒能成為架構(gòu)師。那成為Java架構(gòu)師要掌握哪些技術(shù)呢,總體來說呢,有兩方面,一個是基礎(chǔ)技術(shù),另一個就是組織能力和提出解決方案能力了。小哥哥就跟大家來簡要地說說吧。
如果你是想成為Java架構(gòu)師,那么你首先要是一個Java高級攻城獅。也就是說,基礎(chǔ)必須牢固,對Java的了解而且深入。
熟練使用各種框架,并知道它們實(shí)現(xiàn)的原理。Jvm虛擬機(jī)原理、調(diào)優(yōu)操作,懂得jvm能讓你寫出性能更好的代碼;池技術(shù)也是要掌握的,對象池、連接池、線程池都要會;Java反射技術(shù),寫框架必備的技術(shù);Java各種集合對象的實(shí)現(xiàn)原理,了解這些可以讓你在解決問題時選擇合適的數(shù)據(jù)結(jié)構(gòu),地解決問題,寫出代碼;nio,注意“直接內(nèi)存”的特點(diǎn),使用場景。
還沒完,除了上邊那些,你還要熟練使用各種數(shù)據(jù)結(jié)構(gòu)和算法,數(shù)組、哈希、鏈表、排序樹等等都是;熟練使用Linux操作系統(tǒng),也是必備的;熟悉各種協(xié)議,比如tcp協(xié)議,創(chuàng)建連接三次握手和斷開連接四次握手的整個過程,不了解就沒法對高并發(fā)網(wǎng)絡(luò)應(yīng)用做優(yōu)化,http協(xié)議,session和cookie的生命周期與關(guān)聯(lián);熟悉系統(tǒng)集群、負(fù)載均衡、反向代理、動靜分離,網(wǎng)站靜態(tài)化;懂得分布式存儲系統(tǒng)nfs,fastdfs,tfs,Hadoop了解他們的優(yōu)缺點(diǎn),適用場景,以及分布式緩存技術(shù)memcached,redis,提高系統(tǒng)性能必備。
以上這些夠了嗎?當(dāng)然不。還有呢,工具nginx必備技能超級好用,高性能,基本不會掛掉的服務(wù)器,功能多多,解決各種問題;掌握數(shù)據(jù)庫的設(shè)計能力,Mysql必備,基礎(chǔ)的數(shù)據(jù)工具,主要是免費(fèi)且好用,對它基本的參數(shù)優(yōu)化,慢查詢?nèi)罩痉治?,主從?fù)制的配置,至少要成為半個mysql dba,其他數(shù)據(jù)庫也要至少略懂一二;還有隊列中間件也要會操作,如消息推送,可以先把消息寫入數(shù)據(jù)庫,推送放隊列服務(wù)器上,由推送服務(wù)器去隊列獲取處理,這樣就可以將消息放數(shù)據(jù)庫和隊列里后直接給用戶反饋,推送過程則由推送服務(wù)器和隊列服務(wù)器完成,好處異步處理、緩解服務(wù)器壓力,解藕系統(tǒng)。
說了這么多,其實(shí)都還是純粹的基礎(chǔ)技術(shù),并且還沒有列全。要想成為架構(gòu)師,除了這些之外,就還要具備我們說的組織能力和解決問題的能力了。
架構(gòu)師思考的是全局的東西,是如何組織系統(tǒng),以達(dá)到業(yè)務(wù)要求、性能要求。架構(gòu)師要針對業(yè)務(wù)特點(diǎn)、系統(tǒng)的性能要求提出解決問題成本的設(shè)計方案。為了架構(gòu)而架構(gòu),這是不可取的。你想啊,人家一個幾百人用戶的系統(tǒng),訪問量不大,數(shù)據(jù)量也不大,你給人家上集群、分布式儲存、高端服務(wù)器,肯定能到達(dá)性能要求,但是成本高啊。要知道,架構(gòu)師的作用,一是滿足業(yè)務(wù)需求,二是的硬件網(wǎng)絡(luò)成本和技術(shù)維護(hù)成本。
架構(gòu)師還要根據(jù)業(yè)務(wù)發(fā)展階段,提前預(yù)見發(fā)展到下一個階段系統(tǒng)架構(gòu)的解決方案,并且設(shè)計當(dāng)前架構(gòu)時將架構(gòu)的升級擴(kuò)展考慮進(jìn)去,做到易于升級;否則等系統(tǒng)瓶頸來了,出問題了再去出方案,或現(xiàn)有架構(gòu)無法擴(kuò)展直接扔掉重做,或擴(kuò)展麻煩問題一大堆,這會對企業(yè)造成損失。
其實(shí)這些后的統(tǒng)籌能力還是建立在過硬的專業(yè)基礎(chǔ)和項(xiàng)目經(jīng)驗(yàn)之上。所以小華君還是建議程序員們多上手操作,所接觸項(xiàng)目,想要入行的小白們不妨來北京華信智原了解一下,這里是全程項(xiàng)目實(shí)訓(xùn),可以在四個月內(nèi)積累一到兩年的項(xiàng)目經(jīng)驗(yàn),工作的時候就會順手很多。