模块七作业
王者荣耀商城异地多活架构设计
【背景】
假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。
【作业要求】
1. 分析王者荣耀商城的业务特点,设计其异地多活架构;
2. 按照模块 7 第 5 课的方法来设计异地多活架构。
【提示】
1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;
2. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
4. 用户买鲜花、改名卡之类的道具可以买多个;
5. 分析步骤参考模块 7 第 6 课的案例。
1.业务分级
TOP3 业务:登录、充值、购买
2. 数据分类
【登录】
1)依赖 QQ 和微信账号授权登录,本身无需登录信息;
2) 微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID;
3) 王者荣耀只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。
【充值】
1)用户要先调用微信钱包或者 QQ 钱包充值点券
【购买】
1)用户充值后获得点券,在商城里面用点券购买支付
2)用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买
3)用户买鲜花、改名卡之类的道具可以买多个
3. 数据同步
【登录】
1)RoleID 和区服对应关系,只会新建不会修改,数据库同步即可。
【充值】
1)充值订单 ID 和区服对应关系,只会新建不会修改,数据库同步即可。
2)点券余额全局一致性,采用数据库同步余额
【购买】
1)同充值。
4. 异常处理
用户充值后,数据未及时同步到异地机房,用户无法购买商品怎么办?
-- 等恢复了再买。用户联系客服,可以用小礼物作为补偿。
5. 王者荣耀商城异地多活架构示意图
版权声明: 本文为 InfoQ 作者【double蠢】的原创文章。
原文链接:【http://xie.infoq.cn/article/3add45dbde0d220f6902202fd】。文章转载请联系作者。
评论