自我介紹一下,本人以前是.net程序員,去年下半年負(fù)責(zé)把項(xiàng)目從.net轉(zhuǎn)到j(luò)ava,并且有跨機(jī)房遷移,億級(jí)訪問(wèn)量,app服務(wù)端項(xiàng)目。

自我吐槽一下,工作了8年了,沒(méi)有成為架構(gòu)師,也沒(méi)有進(jìn)入管理層,沒(méi)有成為技術(shù)大師,也沒(méi)能成為分享大師。一直在做業(yè)務(wù),并在這條路上越走越遠(yuǎn)。有的時(shí)候覺(jué)得很尷尬,但又有的時(shí)候覺(jué)得還蠻適合自己。
過(guò)年之前,老婆生了一個(gè)小公舉。寶寶餓了,“老婆快來(lái)喂奶!”,寶寶又餓了,“老婆快來(lái)喂奶!”,寶寶睡醒了又餓了,“老婆快來(lái)喂奶!”……老婆說(shuō):“我感覺(jué)我就是頭奶?!?!作為一名“奶爸”,感觸頗為深刻!
自己負(fù)責(zé)的項(xiàng)目就像自己的孩子,孩子出事了,大家首先想到的就是這個(gè)奶爸。奶爸上陣(常常半夜爬起來(lái)),該換尿布換尿布(服務(wù)器故障),該喂奶就喂奶(bug)。如果生病了,就喂喂藥,吃藥不管用,就外面請(qǐng)大夫(疑難雜癥,搞不定,請(qǐng)別人搞定也是搞定)。寶寶的奶粉如果出了問(wèn)題,恨不得拿刀宰了那個(gè)奸商(調(diào)用了別人的服務(wù),服務(wù)掛了,影響到了自己)。寶寶吃飽喝足,安靜睡了,奶爸也可以安心睡了!

-------------------------------------------------------------------------------
下面開(kāi)始干貨,記錄一下自己的“育兒”心得:
一. 技術(shù)選型
開(kāi)發(fā)語(yǔ)言:java,go,php,nodejs
如開(kāi)頭所說(shuō),本人之前是C#程序員,C#的語(yǔ)法精妙,逆天的ide,.net版本更新較快,快到我都不記得最新的版本號(hào)了。那么多新特性,如果服務(wù)器上安裝的始終都是.net3.5 對(duì)我們來(lái)說(shuō)又有什么用呢。
開(kāi)始是很抵觸java的,斷斷續(xù)續(xù)學(xué)了好多次也沒(méi)投入使用,這次必須要上了。不得不說(shuō),這么多年了,java一直在增長(zhǎng),穩(wěn)定,成熟,幾乎能解決所有問(wèn)題,而且性能也不差。這大半年下來(lái),java的水真的好深,異步、并行等等,還沒(méi)接觸過(guò)的好多好多。
go的好處就不說(shuō)了,在學(xué)習(xí),如果喜歡又覺(jué)得能拿捏的住,就上吧(哈,肯定不會(huì)像說(shuō)的那么輕松)。
nodejs做前端太方便,也有人用來(lái)做服務(wù)端接口層。
php做前端頁(yè)面,就像服務(wù)端用java一樣,萬(wàn)金油,成熟,穩(wěn)定,用的人多,資料也多。
總之一句話,沒(méi)有最好的,只有最適合的!
選java是因?yàn)?我們后端的很多微服務(wù)也是用java開(kāi)發(fā)的,方便調(diào)用。還有就是,不用java還能用啥。
存儲(chǔ):mysql, mongodb, redis
當(dāng)分庫(kù)都不能解決問(wèn)題的時(shí)候,分表就格外重要,有一種無(wú)限擴(kuò)展的感覺(jué)。之前用的oracle,只分庫(kù),沒(méi)有分表,hold不住了。
存儲(chǔ)的類型還是盡量越少越好,redis做緩存一般是繞不過(guò)去,都要用的。
團(tuán)隊(duì)里有很多人排斥mongodb,就不說(shuō)具體原因了,redis能搞定的事情,就不要用mongodb了。
還是那句話,沒(méi)有最好,只有適合,把相應(yīng)的數(shù)據(jù)放到最適合的存儲(chǔ)里。
mq: rabbitmq,activemq
你肯定會(huì)用到mq的,即使現(xiàn)在不會(huì),以后肯定會(huì)的。
java框架:spring mvc
用的人多,成熟,坑都被大家踩過(guò)了,遇到問(wèn)題好查資料好解決。
ibatis和struts在我們的項(xiàng)目中沒(méi)有用到。

二. 源代碼管理工具
語(yǔ)言選好了,框架選好了,要開(kāi)始寫代碼了,問(wèn)題來(lái)了,寫好的代碼用什么管理?
Git! SVN!
Git的分支真的可以解決太多問(wèn)題,很強(qiáng)大!
SVN的tag也不錯(cuò),用來(lái)做發(fā)布不錯(cuò)。

不管用什么工具,一定要做好規(guī)范,比如git的分支命名。時(shí)間長(zhǎng)了分支越來(lái)越多,如果不規(guī)范一下,會(huì)亂的一團(tuán)糟。
再比如分支的