写点什么

架构训练营 模块 7 - 王者荣耀商城异地多活架构设计

用户头像
sophiahuxh
关注
发布于: 1 小时前

业务定制型异地多活


与电商平台不同之处:

  • 虚拟商品库存无上线

  • 商城卖家只有一个就是王者荣耀


核心场景

  • 充值

  • 购买虚拟商品


数据分类

  • 用户 ID : RoleID 微信提供,全局唯一的

  • 用户已购买过的英雄和皮肤:全局唯一,强一致性

  • 购买记录: 全局不唯一,强一致性

  • 用户点券余额: 全局不唯一,强一致性

  • 虚拟商品: 变动很少的数据。


数据同步:

  • 用户 ID: 微信提供,无需同步

  • 用户已购买过的英雄和皮肤,全局唯一,强一致性, 数据库同步+消息队列同步

  • 购买记录: 全局不唯一,强一致性 ⇔ 数据库同步

  • 用户点券余额: 全局不唯一,强一致性 ⇔ 数据库同步

  • 虚拟商品: 系统重新生成


异常处理

  • A 区刚买英雄和皮肤,挂了,登录 B 区再买,会违反只能买 1 个的约束

  • B 区可以买,A 区恢复后,返券其中一份。 

  • A 区刚充值了,但服务器挂了, B 区看不到刚充值的记录和点券余额怎么办?

  • 等 A 区恢复后就能看见了。

  • A 区刚充值了,但服务器挂了, B 区没有点券,无法购买?

  • 在 B 区继续充值后 买商品


架构图


用户头像

sophiahuxh

关注

还未添加个人签名 2018.05.03 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 模块7 - 王者荣耀商城异地多活架构设计