Go语言游戏项目应用情况汇报


Go语⾔游戏项⺫应⽤情况汇报 厦⻔真有趣信息科技有限公司 达达 项⺫介绍 • 2012年 - 2015年,仙侠道⺴⻚版,使⽤ Go语⾔替代神仙 道时期的 Erlang,开发流程和主要架构不变 • 2014年 - 2015年,仙侠道⼿机版,在原有架构基础上拆分 游戏逻辑服务器,分离互动功能 游戏服务端的挑战 • 请求频繁 • 实时性要求⾼(百毫秒的延迟便可被感知) • 开发效率要求⾼(每周⼀更) • 运维效率要求⾼(最好是别运维。。。) 我们做了哪些事情 • 通讯层:协议描述语⾔以及代码⾃动⽣成 • 业务层:顺序结构以及接⼝注册 • 数据层:映射 MySQL的内存数据库以及代码⾃动⽣成 通讯层 • 通讯协议描述⽂档的格式选择 • XML、 JSON • Protobuf • ⾃定义语法 • 可视化编辑 通讯协议描述⽂档⽚段 通讯协议解包封包代码⽚段 业务层 • 从结构上屏蔽所有可能发⽣的阻塞 • ⽂件读写 • RPC调⽤ • chan阻塞 • 尽可能提⾼响应速度 • 数据离 CPU越近越好 • 避免数据复制和⼤集合遍历 • 通过注册接⼝防⽌循环引⽤ 业务模块公共接⼝声明 业务模块接⼝实现 业务模块接⼝调⽤ 数据层 • 玩家数据库切⽚,减⼩查询时的集合 • ⽀持内存事务 • 以事务为单位同步到数据库 • ⽀持 Redo、 Undo以及数据挖掘的同步⽇志 • GC优化 内存数据库代码⽚段 内存数据库事务(⽰意) 内存数据库事务回滚 事务⽇志(⽰意) 使⽤ lua脚本对同步⽇志进⾏数据挖掘 内存数据库的 GC优化 - CGO 内存数据库的 GC优化 - 数据读取 内存数据库的 GC优化 - 数据存⼊ 谢谢⼤家
还剩20页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

d3fw

贡献于2015-05-01

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf