我们公司正在用Go开发页游。上线运行有一段时间了,效果还算满意。

用Go开发大型mmorpg服务端不会有问题的,如果掉坑里肯定不会是语言的问题。

唯一比较可能掉进去的坑就只有GC,其实很容易预防和调整的,具体细节可以看我博客分享的文章。

但是技术选型不只是选语言,如果当时我手头有一套性能满意,开发效率OK,人员补给不会有问题的技术方案,不管是什么语言的,我肯定不会放弃它而选择冒险的。

我去年项目立项时选择Go是有以下一些考虑的:

1. 前一个项目用Erlang开发的,活动时间一到,密集运算CPU就受不了,这点很不满意
2. 项目过程中出现过补人难的情况,听过Erlang并愿意转Erlang的人少,招来了培训到加入开发又要一段时间
3. 因为前两点,所以新项目想找一个解决性能问题又解决人员问题的技术方案
4. 我自身没有C/C++项目经验,只会点皮毛语法,短时间要上手并拿出可用的框架不现实
5. C/C++开发人员我们这也不好招
6. 那会正好Go 1.0即将发布,我估摸着项目上线后Go还会更完善,有点赌一把的意思
7. 我给自己设想的最坏情况是Go不行的时候可以用CGO补救,当时考虑比较多的是性能,但实际上性能没问题,倒是用CGO做了GC优化,补救了自己最初设计上的不合理。
8. Go的语法元素非常之少,并且是类C的命令式语音,又有Google这个开发人员心中形象完美的亲爹,人员补充上应该比Erlang容易

对了,我最近做了个Go语言的V8引擎绑定,可以用来做游戏逻辑脚步啥的。欢迎各路勇士踊跃跳坑:http://github.com/idada/go-v8

— 完 —

本文作者:达达

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 10 个回答,查看全部。
延伸阅读:
网络游戏服务器与数据库的关系?
游戏服务器的压力测试应该如何进行?自己写机器人还是 LR 等工具?

分享到