tencent cloud

文档反馈

数据库交互

最后更新时间:2021-09-17 17:21:30

    游戏服务器端的最佳实践

    1. 在部分字段读写的场景下推荐部分字段读取和更新,减少网络传输大小和磁盘读写次数,避免获取无效数据。
    2. 对于写操作时响应包需要返回数据记录的,建议根据实际情况设置 result_flag,例如 update 后需要获取到修改后的数据记录,建议 result_flag 设置为2;如果不需要写操作返回数据记录,则 result_flag 设置为0。
    3. 对于批处理的命令字,例如 batchget、listgetall、getbypartkey 等,建议按照 offset 和 limit 获取数据记录,limit 推荐是 200,gameserver 端开启分包返回。
    4. list 相关的表,listaddafter 时需要注意队列满时配置淘汰规则,推荐采用队头插入、队尾删除或者队头删除、队尾插入的方式。
    5. list 相关的表,例如 listreplace、listdelete、listbatchdelete 时,需要传递正确的 index。
    6. gameserver 在读数据前,需要确保获取的数据记录 value 字段是有值的,例如 value 字段 A、B、C,本次 gameserver 获取的数据记录是A、B,则C字段是没有值的,请谨慎使用。
    7. 推荐 gameserver 本地做超时控制,不推荐采用按照 gameserver 的回包做超时判断,需要 gameserver 本地主动的做超时判断。
    8. gameserver 在遍历时,推荐从存储层从节点上获取数据,避免影响主节点的性能。
    9. 不推荐对大字段进行 memset 操作,耗费更多的 CPU,推荐对大数据结构的部分字段设置为0的方式进行初始化。
    10. gameserver 端在处理发往 Tcaplus 的请求和来自 Tcaplus 的响应时,建议采用分治的方法,处理部分发往 Tcaplus 的请求,再处理来自 Tcaplus 的响应包。

    系统设计的最佳实践

    1. 高频字段、需要一次性原子性操作的字段推荐独立成表。
    2. 游戏服务器端在做数据回写时,建议进行流控、按照时间离散化处理。
    3. 可以支持动态修改表结构,提供表的数据转换插件。
    4. 回档支持全区全服、表级别、记录级别的冷备时间点回档、精确时间点回档。
    5. 推荐采用分区分服模型,全区全服和分区分服都可以动态扩展接入层、存储层节点。
    6. 具有业务关联的多个内容需要合并在单个表里,避免出现分布式事务问题。
    7. 推荐开启压缩功能,包括请求包和响应包压缩、记录压缩功能。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持