美文网首页
游戏中如何保障玩家的数据安全

游戏中如何保障玩家的数据安全

作者: loki528 | 来源:发表于2019-04-19 16:00 被阅读0次

    这个主要看游戏类型和服务器架构,如果是web类型的游戏,数据大多放在redis和mysql,相对来说是很安全的,即使游戏进程挂了,数据还在其他其他进程中。

    如果在mmorpg或其他性能要求比较高的游戏,总是直接操作redis和mysql,性能肯定是接受不了的,数据大多时候都保存在游戏进程中。万一游戏挂了,如何保障游戏的数据安全呢?

    可以把玩家的数据创建在共享内存中,游戏进程可以读写,数据持久化进程负责读,然后更新到redis或者mysql等中。

    这其中就有个数据同步的问题,必然要加锁

    对于锁还有些问题需要思考:

    a进程获得了锁,但是出了意外:

        1. a进程挂了,b进程可能获得锁,a退出的时候会释放锁

        2. a进程卡住了,一直不释放锁,b永远等待

    所以对共享内存的使用一定要小心。

    C++中有个 boost.interprocess 库可以参考。

    go里面有一句话是:

    不要通过共享内存来通信,而应该通过通信来共享内存。

    相关文章

      网友评论

          本文标题:游戏中如何保障玩家的数据安全

          本文链接:https://www.haomeiwen.com/subject/bobqgqtx.html