模块七
作业:王者荣耀商城异地多活架构设计
【背景】
假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。【作业要求】
分析王者荣耀商城的业务特点,设计其异地多活架构;
按照模块 7 第 5 课的方法来设计异地多活架构。
【提示】
王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,
注意识别出来;
用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;
用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;
用户买鲜花、改名卡之类的道具可以买多个;
分析步骤参考模块 7 第 6 课的案例。
设计步骤 1-业务分级
登录 > 商品 > 支付 > 注册
核心业务为 登录、商品、支付
设计步骤 2-数据分类
登录
依赖 QQ 和微信账号授权登录,本身无需登录信息;
RoleID:区服唯一,只新增不修改
商品
商品列表 : 低频率修改 ,基本都是查询
商品库存 : 高频次修改
英雄和皮肤:只能购买一个
买鲜花、改名卡: 可以购买多个
订单:不会修改,全局唯一
支付
点券:低频修改,全局唯一
设计步骤 3-数据同步
商品库存: 不需要同步,将库存拆分到不同地区
英雄和皮肤:需同步
鲜花、改名卡: 需同步
RoleID:需同步
订单:需同步
设计步骤 4-异常处理
【登录】
微信和 qq 挂了怎么办?
直接挂公告:系统停服维护
【商品】
商品列表无法浏览怎么办?
切换到备用机房
【订单】
下单过程中宕机怎么办?
重新下单
2 下单后,异地机房看不到怎么办?
提示用户暂时维护中
【支付】
无法支付怎么办?
切换到备用机房
【王者荣耀商城异地多活示意图】
评论