思考(九十二):DBProxy实现多级存储和事务处理

DBProxy 数据处理的主控室

后端开发一块重要的内容就是如何处理数据。比如:

问题 说明
统一的访问界面 如游戏服只需要 Load、Save、Begin、Commit、Rollback 接口
多级存储来降低成本 如热数据在 Redis ;冷数据在 MySQL ;长时间非活跃,则归档 OSS
同个逻辑涉及多个数据更新 要么全部成功、要么全部失败

解决这些问题,无非是加很多的控制逻辑,协调完成数据加载、保存

可以参考 Google GFS 的实现,把业务逻辑、控制逻辑和存储功能分开

  • 游戏服负责业务逻辑
  • DBProxy 负责控制逻辑
  • Redis、MySQL、Archive 负责缓存、存储、归档功能

模仿 GFS , DBProxy 也要有 3 个部分组成:

  • DBProxy 服务自身
  • DBProxy 的元数据 Meta
  • DBProxy Client API LIB

DBProxy 服务自身

DBProxy 主要有以下功能:

  • 协调数据加载和保存
  • 协调数据冷热切换
  • 协调非关联数据的并发事务
  • 协调关联数据的串行事务

你可能感兴趣的:(Go游戏服务器开发的一些思考,事务,多级存储,DBProxy,数据处理,后端)