为什么选择golang写手机游戏服务器
Creak_Phone · · 11635 次点击 · · 开始浏览选择golang做游戏服务器开发
经过大半年的手机游戏运营、维护、后续开发,对下一个网络游戏的服务器端开发技术选型的需求如下:1. 体系成熟,有大型成功案例2. 开发效率高3. 性能高,最好是支持并行技术充分利用多cpu资源4. 代码加密发布5. 开发逻辑简单,如多线程同步、加锁、多进程同步就比较复杂6. 易学易用,如果是新技术
可选技术对比
我对可以选择的技术平台经过自己的一些分析总结如下(一己之言):
| 项目 | nodejs | python | c++/ruby | erlang | golang |
|---|---|---|---|---|---|
| 体系成熟 | 4 | 3 | 5 | 4 | 3 |
| 开发效率 | 5 | 5 | 3 | 3 | 5 |
| 性能 | 3 | 3 | 5 | 5 | 4 |
| 加密发布 | 3 | 0 | 4 | 3 | 5 |
| 逻辑简单 | 5 | 5 | 3 | 4 | 5 |
| 易学易用 | 5 | 5 | 2 | 1 | 4 |
| 跨平台 | 5 | 5 | 5 | 5 | 5 |
其实聪明的读者,看以上表,你就已经知道我是最中意golang的,是的!其实以上表只是个幌子,其实选哪种都可以达到目的,同时我看好erlang和golang的并行开发模式来进行游戏开发,我2011年就开始学习erlang和golang,一度沉迷,结合自身的条件和团队情况,我最终选择了golang。
我超喜欢python的代码风格和开发效率,也用它做了近两年的开发,但是它的性能比较低。我无奈放弃了。
我看好golang的出生(三个伟大的发明者)、简洁(关键字最少的语言了吧)、开创性(struct、interface、channel、goroutine),我关注golang快两年,直到去年它发布1.0,且越来越多的项目案例和开发者,我认为现在可以用在生产项目上了。
给golanger的话
我很荣幸我成为了你们中的一员,希望我们可以多交流。我以后的golang代码不涉及到商业秘密的部分我都会放在github.com上与你们共享并接受你们的帮助。我主要用golang开发tcp服务器类的应用,如游戏服务器。
(转自:http://blog.5d13.cn/work/golang/2013/06/16/whyiusegolangtowritegameserver.html)
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
选择golang做游戏服务器开发
经过大半年的手机游戏运营、维护、后续开发,对下一个网络游戏的服务器端开发技术选型的需求如下:1. 体系成熟,有大型成功案例2. 开发效率高3. 性能高,最好是支持并行技术充分利用多cpu资源4. 代码加密发布5. 开发逻辑简单,如多线程同步、加锁、多进程同步就比较复杂6. 易学易用,如果是新技术
可选技术对比
我对可以选择的技术平台经过自己的一些分析总结如下(一己之言):
| 项目 | nodejs | python | c++/ruby | erlang | golang |
|---|---|---|---|---|---|
| 体系成熟 | 4 | 3 | 5 | 4 | 3 |
| 开发效率 | 5 | 5 | 3 | 3 | 5 |
| 性能 | 3 | 3 | 5 | 5 | 4 |
| 加密发布 | 3 | 0 | 4 | 3 | 5 |
| 逻辑简单 | 5 | 5 | 3 | 4 | 5 |
| 易学易用 | 5 | 5 | 2 | 1 | 4 |
| 跨平台 | 5 | 5 | 5 | 5 | 5 |
其实聪明的读者,看以上表,你就已经知道我是最中意golang的,是的!其实以上表只是个幌子,其实选哪种都可以达到目的,同时我看好erlang和golang的并行开发模式来进行游戏开发,我2011年就开始学习erlang和golang,一度沉迷,结合自身的条件和团队情况,我最终选择了golang。
我超喜欢python的代码风格和开发效率,也用它做了近两年的开发,但是它的性能比较低。我无奈放弃了。
我看好golang的出生(三个伟大的发明者)、简洁(关键字最少的语言了吧)、开创性(struct、interface、channel、goroutine),我关注golang快两年,直到去年它发布1.0,且越来越多的项目案例和开发者,我认为现在可以用在生产项目上了。
给golanger的话
我很荣幸我成为了你们中的一员,希望我们可以多交流。我以后的golang代码不涉及到商业秘密的部分我都会放在github.com上与你们共享并接受你们的帮助。我主要用golang开发tcp服务器类的应用,如游戏服务器。
(转自:http://blog.5d13.cn/work/golang/2013/06/16/whyiusegolangtowritegameserver.html)