Go游戏框架初探《一》

        这两天去看了一下go, 总结一下,目前的go开源游戏框架。不得不说,如今的大趋所势。go语言转变如此之快。go开源游戏端应用的框架,已经多到数不胜数。这才两年的时间里,就发生了如此多的转变。cpp所带来的痛苦,真让人非常印象深刻吗?在快捷开发,简单类型游戏中,比如卡牌类,回合制这种类型游戏,cpp可能确实不占优势。因为累啊!人都想快捷开发,避免更多的问题。人不想因为一个内存问题。纠结半天。稍微不注意,服务器就宕机了。解决起来又非常的棘手。单调试错误 ,可能一星期就过去了。边调试边骂N的呢种。所以,现在的人就想,我做个这样简单的游戏,为何还要承担如此多的痛苦。 本来就是一件痛苦的事情,为何还要痛中加痛。废话太多了。 上框架:

我根据年限来排名先后。

《一》《leaf》框架 git地址:leaf/TUTORIAL_ZH.md at master · name5566/leaf · GitHub 时间年限大概是17年左右。

《二》《GoWorld》也是17年左右 git地址:https://github.com/xiaonanln/goworld

《三》《Orgin》橘子跟火龙果 大概在19年,橘子的这个有点不一样,ta是一个引擎。需要下载下个Orgin引擎,编译源码。git地址:GitHub - go-origin/origin: 积木式服务器引擎

《四》《Pitaya》火龙果 git地址:GitHub - bytemode/pitaya-notes: Scalable game server framework with clustering support, code notes. pitaya游戏服务器代码注释

 

 

mqantmqant 是一款基于 Golang 语言的简洁,高效,高性能的分布式游戏服务器框架,研发的初衷是要实现一款能支持高并发,高性能,高实时性的游戏服务器框架,也希望 mqant 未来能够做即时通讯和物联网方面的应用。特性分模块机制基于 golang 协程,开发过程全程做到无 callback 回调,代码可读性更高RPC 支持本地和远程自动切换远程 RPC 默认使用 rabbitmq,未来可以添加更多种类的通信协议网关采用 MQTT 协议,无需再开发客户端底层库,直接套用已有的 MQTT 客户端代码库,可以支持IOS,Android,websocket,PC 等多平台通信现如今只有多进程的架构才能达到支撑较多在线用户,降低服务器压力,降低单点故障所带来的影响等要求,因此一个真正高可扩展的游戏运行架构必须是多进程的。然而在游戏的开发和运营也是按步骤阶段性进行的,尤其是现如今服务器硬件设备配置也越来越高的前提下,在游戏刚开始运营时单台服务器就足够支撑了,况且多进程部署所带来的运维成本也相对较高。mqant 的设计思想是在能用单台服务器时能让充分挖掘服务器的性能,而在需要多进程时再通过简单的配置就可以实现分布式部署。mqant 游戏服务器的运行架构mqant 服务器是按模块来划分功能模块的,例如 用户管理,在线聊天,战斗平台等等都应该划分为独立的模块模块之间通过 RPC 通讯,mqant 底层会根据实际情况选择 rpc 数据交互的通信渠道,在调用模块在同一个进程的情况下直接使用 golang chan 通讯,因此同进程内模块通信性能不受影响。 标签:mqant
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yewencc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值