模块七作业——王者荣耀商城异地多活架构设计
作业
作业:王者荣耀商城异地多活架构设计
【背景】
假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。
【作业要求】
1. 分析王者荣耀商城的业务特点,设计其异地多活架构;
2. 按照模块 7 第 5 课的方法来设计异地多活架构。
【提示】
1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;
2. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
4. 用户买鲜花、改名卡之类的道具可以买多个;
5. 分析步骤参考模块 7 第 6 课的案例。
业务定制型异地多活架构设计
一 业务分级
者荣耀商城的商品是虚拟物品,因此无需考虑库存和物流
用户要登录后才可以在商城中购买英雄、皮肤、道具等物品
用户需要先通过微信钱包或 QQ 钱包充值,然后通过余额(点券)进行购买支付
TOP3 业务是:登录,充值,购买
二 数据分类
2.1 登录
1. 依赖 QQ 和微信账号授权登录,本身无需登录信息
2. 微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID
3. 王者荣耀只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改
2.2 充值
1.借助微信钱包或 QQ 钱包第三方支付工具充值,充值成功后记录充值订单 ID,王者需记录充值订单 ID 及购买后的点券数量
2.3 购买
1. 用户使用点券购买物品后,需记录购买订单和购买物品
三 数据同步
3.1 登录
RoleID 和区服对应关系,只会新建不会修改,数据库同步即可
3.2 充值
充值订单 ID 和区服对应关系,只会新建不会修改,数据库同步即可
点券余额全局一致性,采用数据库同步余额
3.3 购买
购买订单和区服对应关系,只会新建不会修改,数据库同步即可
点券余额全局一致性,采用数据库同步余额
四 异常处理
4.1 商城购物完成,数据沒有同步到异地机房怎么办?
适当容忍,用户等系统恢复了再使用。用户联系客服,可以送小礼物作为补偿。
评论