自我介紹一下,本人以前是.net程序員,去年下半年負責把項目從.net轉到java,并且有跨機房遷移,億級訪問量,app服務端項目。

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

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

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

不管用什么工具,一定要做好規(guī)范,比如git的分支命名。時間長了分支越來越多,如果不規(guī)范一下,會亂的一團糟。
再比如分支的

網友評論