游戏是如何做数据备份的,包括缓存和mysql数据

cs_kill_you 2014-09-20 02:54:51
大家好,如题:游戏是如何做数据备份的,包括缓存和mysql数据,如何做才能让单台服务器支持更多的玩家
...全文
700 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我要戒烟了 2014-09-24
  • 打赏
  • 举报
回复
mysql 一些工具比方说navicat都有定时备份的功能 要想支持多玩家同时在线,就是分压,把逻辑还有存储相关分开放在不同的进程或是线程或是物理服务器上分开处理,理论上分的越多,同时在线的玩家就会越多 只是单台服务器的话,只能从分进程和线程还有优化处理逻辑上入手了,但是一台机器的配置有限,再怎么优化分压同时在线玩家也是有上限的
糖几颗的 2014-09-23
  • 打赏
  • 举报
回复
好像, 如何做备份 和 单台服务器支持更多的玩家, 这两个是没有因果关系的吧... 我只说我参与编写的项目. 缓存分两种, 在内存里面的热数据 和 在服务器文件夹下的定时文件缓存. 内存里的热数据, 就是玩家在线的时候, 会随着玩家操作而改变的数据, 这个省不了. 文件缓存, 是为了解决与数据库通讯异常时候的备份, 如果正常存储到数据库了, 那文件缓存是会立刻删除的. 如果遇到服务器宕机的情况, 服务器重新启动的时候, 发现有文件缓存, 则会先把文件的缓存更新到数据库. 单台服务器支持更多的玩家, 我觉得有三方面. 服务器的引擎优化. 框架的优化我觉得所占的比例还是挺高的. 但具体怎么优化, 就不是一两句话能说的完的了. 服务器的结构. 如果有线路的概念(基本上所有回合制网游都有这个), 那肯定在硬件一致的情况下, 比没有线路的结构要能承载更多的人. 最后就是服务器的硬件了. 之前有遇到过不同的运营商提供的机房. 有些服务器能搭建3个大区, 有些服务器却能搭建7.8个大区(手游).. 大概就这样了吧...
abc123212 2014-09-23
  • 打赏
  • 举报
回复
这个我也想学习, 同求,顺顶
sgzlove 2014-09-23
  • 打赏
  • 举报
回复
服务器的瓶颈通常是在数据处理和网络IO上, 数据处理的问题,可以通过第三方缓存来缓解服务直接跟数据库交互的压力,比如memercahce或者redis, 同时把在线玩家的数据放在内存里,如果还有压力的话,可以考虑数据更新通过同步更新缓存,异步线程更新数据库,当然2楼说的通过文件系统来做更新也是个很好的方案 网络IO的,就是主要指的是消息的并行发送,目前NIO框架很多,同时在策划层面上对群发的消息尽可能做一定的控制,比如同地图的玩家做地图镜像处理,或者在世界聊天里加入资源消耗或者冷却时间等。 这只是我个人的一些经验,仅供参考~

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧