DBProxy 数据处理的主控室
后端开发一块重要的内容就是如何处理数据。比如:
问题 | 说明 |
---|---|
统一的访问界面 | 如游戏服只需要 Load、Save、Begin、Commit、Rollback 接口 |
多级存储来降低成本 | 如热数据在 Redis ;冷数据在 MySQL ;长时间非活跃,则归档 OSS |
同个逻辑涉及多个数据更新 | 要么全部成功、要么全部失败 |
解决这些问题,无非是加很多的控制逻辑,协调完成数据加载、保存
可以参考 Google GFS 的实现,把业务逻辑、控制逻辑和存储功能分开
- 游戏服负责业务逻辑
- DBProxy 负责控制逻辑
- Redis、MySQL、Archive 负责缓存、存储、归档功能
模仿 GFS , DBProxy 也要有 3 个部分组成:
- DBProxy 服务自身
- DBProxy 的元数据 Meta