工作5年C++服务器,转GO的感触,GO服务器业余时间整理的,用时2个月,框架到细节

bobohume · · 21535 次点击
cyinx
开源游戏服务器框架 https://github.com/Cyinx/einx
我也是做了很多年C++游戏服务器,然后又用go来做游戏. 基本上最开始我也是迷信golang的channel goroutine和actor模式.但是后来我阅读了golang的源代码,发现channel也是加锁的.而且goroutine和channel数量太多,虽然吞吐上去了,但是逻辑处理延迟也增加了很多.因为大量使用异步操作造成了进程异步虚耗,很多逻辑的高延迟对于一般应用来说无所谓,但是对于游戏来说,可能无法接受.在后来使用golang的过程中,我尽量控制新建goroutine,减少channel的使用,采用事件循环的方式来构建的服务器.充分利用了golang的开发效率与便利的部署方式.又避免了异步灾难. 服务器框架也开源了.https://github.com/Cyinx/einx
#7
更多评论
haoyupei
大道至简,始终如一
c++ 和lua这是个好模式啊
#2