老出BUG怎么办?游戏服务器常见问题解决方法分享
在游戏开发中,我们经常会遇到一些技术难题,而其引发的bug则会影响整个游戏的品质。女性向手游《食物语》就曾遇到过一些开发上的难题,腾讯游戏学院专家团Wade、Zc、Jovi等专家为其提供了指导和帮助。过载保护、集群、服务器通信、并发选型等方面的问题,是中小团队常常的技术难题,本文分享了一些专家在坐诊过程中遇到的游戏服务器常见问题解决方法,希望对大家有所帮助。 问题一:玩家登录时拉取好友信息,但好友服务繁忙导致登录失败。 解决方法: 1、分离关键路径上非关键调用,缩短事务流程,避免周边服务异常阻塞登录。 2、服务熔断机制,超出处理能力快速失败,防止雪崩。 3、按用户隔离事务,避兔单个用户请求阻塞影响到其他用户。 问题二:压测并发登录对redis产生很大压力。 解决方法:redis数据表数量多,一次事务会产生多个 redis请求,小表合并为大表。 Wade:服务器进程的管理一般比较简单,有很多还是用配置文件静态组织的。同时往往进程间通信的手段比较缺乏,没有使用消息队列中间件,甚至还有用 Redis 来做通信组件使用的。为了提高集群管理的自动化水平,使用 ZooKeeper 是一个比较常见的方法。 Zc:redis一般做为内存缓存来使用,不宜将关键数据存放在redis中.其数据安全性并不如一般的DB。在使用过程中也需要参考性能基线,控制访问频率和流量。 问题三:外部服务有延迟