前段時(shí)間去北京出差,看了烈火和上水軒的項(xiàng)目,最大的感觸就是經(jīng)驗(yàn)、人才的積累,個(gè)人的積累到項(xiàng)目組的積累到公司的積累,很強(qiáng)的個(gè)人能力,很好的團(tuán)隊(duì)氛圍,加上完善的公司團(tuán)隊(duì)支撐,大個(gè)一路羨慕,其實(shí)我第一次看到也很羨慕,不過積累這種東西不是一個(gè)人能撐起來的。平常心就好。
還是說下架構(gòu),這次去和左拉聊過之后,比較有感觸,但是依然有不贊同的地方,他堅(jiān)持單服構(gòu)架,只是加入多線程設(shè)計(jì)使承載提升,上層倒是計(jì)劃用一些類似無縫地圖這樣的技術(shù),但是我對(duì)單服承載能力和容錯(cuò)能力依然表示懷疑。增加了出錯(cuò)幾率和程序員調(diào)試時(shí)間,當(dāng)然這些我對(duì)他是沒底氣爭(zhēng)辯的,他完整的經(jīng)歷了兩個(gè)項(xiàng)目,經(jīng)驗(yàn)是無法比的。
我依然堅(jiān)持我的底層多線程,邏輯單線程架構(gòu),開發(fā)調(diào)試簡(jiǎn)單。單線程邏輯能力的不足我用多服來分散。就我的經(jīng)驗(yàn)來看,這樣對(duì)我目前的團(tuán)隊(duì)好處最大,因?yàn)榉?wù)端邏輯程序員都是新手,寫多線程程序經(jīng)驗(yàn)不足,經(jīng)常死鎖、漏鎖。
valgrind在內(nèi)存泄露方面還是不太好用,也只能是能用,但是其他方面倒是有一些意想不到的收獲,發(fā)現(xiàn)了幾處邏輯BUG,比如我的服務(wù)端線程accept到新的socket后就創(chuàng)建一個(gè)線程收發(fā)包,但是停止時(shí)我先停了accept線程,不掛valgrind就沒事,掛上就hang up在pthread_join位置上,郁悶很久,改了順序就完全ok。
針對(duì)內(nèi)存泄露,我又找了一個(gè)很小的工具memcheck,效果出乎意料的好。我要的就是對(duì)malloc/realloc的內(nèi)存檢測(cè)是否free掉了。這個(gè)小工具也只有這個(gè)功能,在linux下面還能看到backtrace,不錯(cuò)不錯(cuò)。
說到linux,不知道是我的錯(cuò)覺還是什么,新底層在linux下跑的貌似確實(shí)要好一些,不是指速度,那個(gè)是肉眼無法觀察出來的,純粹的感覺,調(diào)試過程中的輸出、gdb給的反饋等等。怎么形容呢。感覺FreeBSD比較硬,更偏程序員多一些。linux就比較軟,替服務(wù)器管理員考慮的就多一些。純感覺。
posted on 2009-10-28 13:33
大日如來 閱讀(391)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
游戲-編程