写点什么

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

作者:deng
  • 2021 年 12 月 19 日
  • 本文字数:784 字

    阅读完需:约 3 分钟

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

作业

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

【背景】

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

【作业要求】

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 商城购物完成,数据沒有同步到异地机房怎么办?

适当容忍,用户等系统恢复了再使用。用户联系客服,可以送小礼物作为补偿。

五 架构设计图


用户头像

deng

关注

还未添加个人签名 2020.04.19 加入

还未添加个人简介

评论

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