架构实战营 1 期 - 模块七作业
架构实战营 1 期 - 模块七作业
王者荣耀商城异地多活架构设计
背景
假设现在决定要实现王者荣耀里面的商城的异地多活架构, 请你分析设计一下
作业要求
1. 分析王者荣耀商城的业务特点, 设计其异地多活架构
2. 按照模块 7 第 5 课的方法来设计异地多活架构
提示
1. 王者荣耀的商城是虚拟物品, 和淘宝这种实物电商有很大的区别, 注意识别出来
2. 用户要先调用微信钱包或者 QQ 钱包充值点券, 然后在商城里面用点券支付
3. 用户买英雄和皮肤的时候 同样的英雄和皮肤只能买一个, 不能重复购买
4. 用户买鲜花 改名卡之类的道具可以买多个
5. 分析步骤参考模块 7 第 6 课的案例
虚拟商品商城业务特点分析
虚拟商品不受库存和物流影响, 重要的是在确定用户支付后, 及时使客户体验商品功能
商品分为两类, 一类是一个用户仅能购买一个的商品, 比如英雄和皮肤, 另一类是改名卡那种, 可以购买多次的商品.
业务架构如下
异地多活架构
用户充值可以借助支付网管流水号实现异地多活, 在支付网管服务正常的情况下, 其他数据中心可以根据支付流水号为当前用户累加点券余额
商品需要拆分为两类。
用户唯一商品, 订单信息包含用户标识和商品标识, 每次用户消费点券, 购买商品, 及时同步要其他数据中心, 分钟级核对当前数据中心消费流水。
用户累计购买的商品, 订单需要包含用户标识、商品标识、购买前点券余额、购买后点券余额,只有当购买前点券余额与订单中一致时,才能购买成功。购买后及时同步到其他数据中心,并在分钟级批量任务核对数据中心流水。
版权声明: 本文为 InfoQ 作者【李东旭】的原创文章。
原文链接:【http://xie.infoq.cn/article/e001ae650b0bb8f0b221a4401】。文章转载请联系作者。
评论