• 线上socket缓冲区满,导致宕机

    上周收到了线上某个服的宕机邮件,于是上去瞅了一眼,发现线上某个服在玩家集中切场景的时候,应用层设置的缓冲区爆掉了。 1.png

  • 切场景的设计

    游戏在设计之初,玩家身上的数据不是很多,在切场景的时候,玩家身上的数据都是转发过去的 不会从数据库里面再读取,随着游戏逻辑的扩张,玩家身上的数据,越来越大,切场景带来的消耗也越来越大,应用层设置的缓冲区大小如下:
    2.png

    因为我们这个场景是多人赛马的一个场景,每个赛马场景最大的赛马人数是12个(配置控制),于是把每个赛马房间且场景的间隔设置长一点,每个场景赛马人数减少一点,应该就可以了

  • 切场景的时候,普遍的做法?

    现在主流的切场景做法是怎样的呢?
    1、每次重新读数据库,只带少量玩家数据过去?
    2、对玩家数据做压缩处理,以时间换空间?
    3、进副本时只带少数信息过去,副本的结算逻辑,等到玩家出来副本后,再结算,更新相关的逻辑
    4、使用redis、memcache等内存数据库,加快读取信息的速度,减少时间延迟