使用Golang实现万人同服的游戏服务器.pdf
使用Golang实现万人同服的游戏服务器
游族·袁锋峰
目 录
C O N T E N T I N D E X
00. 游戏服务器开发面临的挑战
01. 服务器开发对语言的需求
10. 使用Golang进行游戏服务器开发
11. 成功案例
00
游戏服务器开发面临的挑战
0 0 . 游 戏 服 务 器 设 计 面 临 的 挑 战
框架层面的挑战
011
高并发
十万级别PCU 100
百万级别的TPS 高可用
玩家对服务的可用性非常敏感
500ms响应延迟的红线 101
001
30分钟停止服务意味着永久流失 高爆发
服务器演算
50,000每分钟的玩家新增数量
游戏世界的模拟和同步,产生
大量的服务器演算和主动的信
息Push
010
数据读写频度高
单玩家每秒10次的请求频度
单次请求平均5个以上关键属性的读写 110
高迁徙率
高达60%以上的次日流失率
0 0 . 游 戏 服 务 器 设 计 面 临 的 挑 战
服务器演算
Request
Response
我眼中主流互联网行业的业务模型
0 0 . 游 戏 服 务 器 设 计 面 临 的 挑 战
服务器演算
MMORPG的上行/下行消息量对比
平均为1:5
极端情况下可以到1:50
非主流互联网行业(游戏)的业务模型
0 0 . 游 戏 服 务 器 设 计 面 临 的 挑 战