游戏服务器数据库怎么保证实时又速度快

游戏服务器数据库怎么保证实时又速度快,第1张

网游数据访问层的部分。一般就是每个区服对应一个数据库,比如合服就是在合并数据库,有时候两个区因为版本问题数据库架构也可能会有细微不同。访问方面一般实时数据都在内存里,通过缓存和日志的方式每隔一段时间持久化一次,同时保证数据完整性。

一般来说是一台真实的数据库服务器对应一个游戏某个区的某个服。有时候用了高配机,也可能一台机器上跑三个服的库。总之,游戏公司会根据数据库的负载调整游戏架构。

每个服的人数有限,游戏数据也并不是实时写入数据库中,一般保存在缓存里,几分钟写入一次库。所以游戏的数据库访问压力并不大。caojing@idcs.cn,负载大的地方大多在逻辑服务器的数据处理上。一般是对逻辑服务器去做负载均衡。

所以实时和速度与服务器的架构和游戏程序都有关系,可以做cdn加速

相比memcached:

1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。

2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。

3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似lru的算法把内存中的最不常用数据保存到硬盘的页面文件中。

4、redis原生支持的数据类型更多,使用的想象空间更大。

5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis 3.0将推出cluster,功能更加强大。

6、redis更多优点,请移步官方网站查询。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/441117.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-30
下一篇2023-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存