架构训练营 模块七
【作业内容】
王者荣耀商城异地多活架构设计
【作业要求】
1. 分析王者荣耀商城的业务特点,设计其异地多活架构。
2. 按照模块 7 第 5 课的方法来设计异地多活架构。
【提示】
1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;
2. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
4. 用户买鲜花、改名卡之类的道具可以买多个;
5. 分析步骤参考模块 7 第 6 课的案例。
一、业务特性分析
王者荣耀的商城中的商品是虚拟的,虚拟商品立即到账,没有库存的影响,也没有退货的业务场景。
二、业务分级
商品购买 > 点券支付
三、数据分类
道具:可重复,最终一致性要求。
商品:全局唯一,不可变。
充值:流水 ID,全局唯一,不可变。分为普通充值、支付、点券三种情况。
消费:全局唯一,不可变。分为普通消费、点券消费两种情况。
四、数据同步
可以采用数据库同步或者消息队列同步。
五、异常处理
如果严重故障,可以采用公告方式;
如果有充值消费异常,人工修正;
如果有消息延迟,提示用户,等待最终一致性。
评论