七叶笔记 » golang编程 » 开源的服务器框架你都知道吗

开源的服务器框架你都知道吗

今天最悲痛的消息莫过于科比的离去,RIP,传奇科比,精神不朽。

有哪些开源游戏服务器框架,值得学习呢。基于node.js 、 java 、C#、golang 、 c++ python 等技术栈有各种各样的游戏框架。 本文收集一些比较常用的 github 上star和fork有一定数量的较为完整的框架


skynet

skynet 云风大神的框架这个基本上使用很多的, c+lua的框架。skynet只能算是网络层的轮子但是因为其众多的用户还是很不错的,主要的思想是基于Actor模型,Actor之间通信的唯一机制就是消息传递。使用此引擎开发的游戏众多,很多棋牌小企业在用,简悦的陌陌争霸、食物战争等等很多产品。


pomelo

pomelo 网易开源的框架,支持分布式, 周边完善 多进程单线程的应用架构。node.js天生采用单线程, 使它在处理复杂逻辑的时候无需考虑线程同步、锁、 死锁 等一系列问题, 减少了很多逻辑错误。由多进程node.js组成的服务器群是最理想的应用架构。不得不说 nodejs 很强大。


NoahGameFrame

NoahGameFrame 支持lua,是一个轻量级,快速,可扩展的分布式插件框架,基于蜗牛引擎flexi的思想,可用作MMO RPG / MOBA游戏旖旎情 代表做全民无双,作者是前蜗牛员工,现居海外 ,蜗牛员工开起来会似曾相识。


kbengine

kbengine c++和python实现的MMOG游戏服务器框架,这个已经被电魂千万收购 ,已经改名为comblockengine,成为商业引擎,底层C++,脚本层python,限制开发的问题是调试,python脚本写起来很方便,但是kbe调试是很大的问题,不知道商业化之后有没有解决这个问题。


ET

ET unity 3d 客户端c#服务器框架,支持分布式客户端服务器共享代码 ,对客户端是unity的同学有天然的亲近感。这个框架没怎么看过。


经过产品验证并且教程比较完善

GoWorld

GoWorld – 用Golang写一个分布式可扩展、可热更的游戏服务器。

使用Golang开发游戏服务器有如下的优点:

运行效率远高于各种 脚本语言 ,大幅度提升服务器承载能力

内存安全,不会像C++服务器那样出现内存错误导致服务器down机

Goroutine能够很好地利用多核计算能力,提升承载能力

GoWorld和bigWorld思想一致 。和KBE有几分相似,我不怎么适应go的语法。可能写的少,不做评价。


虽然上面有很多开源的服务器框架,但是每个人的开发习惯不同,不得不说

适合自己的才是最好的!你还知道哪些开源的游戏框架欢迎留言

END

相关文章