前段时间去北京出差,看了烈火和上水轩的项目,最大的感触就是经验、人才的积累,个人的积累到项目组的积累到公司的积累,很强的个人能力,很好的团队氛围,加上完善的公司团队支撑,大个一路羡慕,其实我第一次看到也很羡慕,不过积累这种东西不是一个人能撑起来的。平常心就好。
还是说下架构,这次去和左拉聊过之后,比较有感触,但是依然有不赞同的地方,他坚持单服构架,只是加入多线程设计使承载提升,上层倒是计划用一些类似无缝地图这样的技术,但是我对单服承载能力和容错能力依然表示怀疑。增加了出错几率和程序员调试时间,当然这些我对他是没底气争辩的,他完整的经历了两个项目,经验是无法比的。
我依然坚持我的底层多线程,逻辑单线程架构,开发调试简单。单线程逻辑能力的不足我用多服来分散。就我的经验来看,这样对我目前的团队好处最大,因为服务端逻辑程序员都是新手,写多线程程序经验不足,经常死锁、漏锁。
valgrind在内存泄露方面还是不太好用,也只能是能用,但是其他方面倒是有一些意想不到的收获,发现了几处逻辑BUG,比如我的服务端线程accept到新的socket后就创建一个线程收发包,但是停止时我先停了accept线程,不挂valgrind就没事,挂上就hang up在pthread_join位置上,郁闷很久,改了顺序就完全ok。
针对内存泄露,我又找了一个很小的工具memcheck,效果出乎意料的好。我要的就是对malloc/realloc的内存检测是否free掉了。这个小工具也只有这个功能,在linux下面还能看到backtrace,不错不错。
说到linux,不知道是我的错觉还是什么,新底层在linux下跑的貌似确实要好一些,不是指速度,那个是肉眼无法观察出来的,纯粹的感觉,调试过程中的输出、gdb给的反馈等等。怎么形容呢。感觉FreeBSD比较硬,更偏程序员多一些。linux就比较软,替服务器管理员考虑的就多一些。纯感觉。
posted on 2009-10-28 13:33
大日如来 阅读(352)
评论(0) 编辑 收藏 引用 所属分类:
游戏-编程