写点什么

作业七 - 王者荣耀商城异地多活架构设计

作者:alan
  • 2022 年 2 月 13 日
  • 本文字数:988 字

    阅读完需:约 3 分钟

作业:王者荣耀商城异地多活架构设计 【背景】 假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。 【作业要求】

  1. 分析王者荣耀商城的业务特点,设计其异地多活架构;

  2. 按照模块 7 第 5 课的方法来设计异地多活架构。 【提示】

  3. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;

  4. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;

  5. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;

  6. 用户买鲜花、改名卡之类的道具可以买多个;

  7. 分析步骤参考模块 7 第 6 课的案例。


作业回答:

商城主要业务及其数据分析


商城数据分析及分类

点券余额,已购买商品(两类商品:不可重复购买的商品,可重复购买的商品),购物车,


数据特点

点券:通过微信等第三方充值,第三方有充值记录,故充值记录可通过第三方再次获取;消费记录在本系统;


商品:

  • 因是虚拟物品,故无库存说法;

  • 商品销售根据业务要求,区分为两类商品:不可重复购买的商品,可重复购买的商品;

  • 商品购买记录记录在本系统中;

  • 商品 ID 可根据购买记录和算法重新生成;已购商品 ID 只会新增不会修改和删除;

  • 商品是否有效标识(如改名卡是否已使用等),可根据商品使用流水来重新生成;

购物车:用户收藏或加购的商品,在极端情况下全部丢失也不影响核心业务;


数据分类及同步方法


异常处理

  • 点券充值结果还没有同步到异地机房,用户点券余额没有增加,无法购买商品怎么办?

回答:第一种,向第三方如微信和 QQ 钱包再次获取充值结果,与本地充值记录合并完毕后,用户即可正常使用; 第二种,如向第三方获取充值记录难度较大,则可考虑人工事后补偿数据;


  • 点券消费结果还没有同步到异地机房,用户点券使用超额怎办?

回答:业务上允许用户这么操作,让用户感到”占便宜“了。


  • 已购商品数据尚未同步到异地机房,用户无法使用怎么办?

回答:第一种,根据商品购买记录重新生成已购商品 ID,让用户正常使用; 第二种,如商品购买记录也丢失一部分,则考虑人工事后补偿用户;


  • 购物车尚未同步到异地机房,用户看不到最新的购物车数据怎么办?

回答:用户重新添加商品进入购物车即可;


  • 商品使用记录尚未同步到异地机房,用户本来已使用过商品,但系统中显示未使用过怎么办?

回答:不可重复购买的商品,如英雄皮肤等,用户再次使用即可;可重复购买的商品,如鲜花改名卡等,业务上允许用户这么操作,让用户感到”占便宜“;


系统架构图如下


用户头像

alan

关注

还未添加个人签名 2021.11.02 加入

还未添加个人简介

评论

发布
暂无评论
作业七-王者荣耀商城异地多活架构设计