最近碰到的一个分布式一致性问题
💡
原文中文,约2200字,阅读约需6分钟。
📝
内容提要
游戏设计中,好友功能从同一服务器扩展到跨服务器,解决数据一致性问题。通过拆分友情值,避免双主问题,实现无冲突操作。方法强调数据所有权管理,结合本地事务和重试机制,提供简洁解决方案。
🎯
关键要点
- 好友功能从同一服务器扩展到跨服务器,解决数据一致性问题。
- 通过拆分友情值,避免双主问题,实现无冲突操作。
- 好友关系存储在各自玩家的服务器中,涉及数据一致性问题。
- 送花和收花操作无法保证幂等,但最终目标是友情值。
- 建议不进行数据同步,而是直接从对方服务器获取友情值。
- 通过简化公式,将友情值拆分为F_A和F_B,避免查询对方服务器。
- 解决数据所有权问题,确保双方操作不会产生冲突。
- 扩展已有代码时需跳出旧有思维框架,关注数据管理的所有权。
➡️