架构实战营模块七作业
王者荣耀商城异地多活架构设计
【背景】
假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。
【作业要求】
1. 分析王者荣耀商城的业务特点,设计其异地多活架构;
2. 按照模块 7 第 5 课的方法来设计异地多活架构。
【提示】
1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;
2. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
4. 用户买鲜花、改名卡之类的道具可以买多个;
5. 分析步骤参考模块 7 第 6 课的案例。
业务分析
1.业务分级
王者荣耀访问: 登录>注册
商城的核心场景情况: 点券>皮肤>道具
收入情况: 点券充值>点券支付
综合考虑,在异地多活架构设计中,需要优先保障:登录、点券、皮肤、道具
2.数据分类
登录:全局唯一 RoleID
点券:余额强一致性,不可丢失。
皮肤:同 RoleID 用户在区服唯一,强一致性。
道具:可重复,最终一致性要求
3. 数据同步
登录:RoleID 和区服对应关系只新增不修改。
点券余额:强一致性,不可丢失,数据库同步。
道具:绑定 RoleID 和区服,按区服数据同步。
4. 异常处理
① 登录异常:短期登录异常就用户重试,长时间登录异常出公告和告示,恢复正常后给予一定补偿
② 点券充值异常:客诉,人工修正数据,恢复余额,适当补偿
架构设计图
版权声明: 本文为 InfoQ 作者【渐行渐远】的原创文章。
原文链接:【http://xie.infoq.cn/article/ef18055d93b821d0e09e1e1c8】。文章转载请联系作者。
评论