写点什么

架构实战 - 模块七 - 作业

作者:无名
  • 2021 年 12 月 23 日
  • 本文字数:964 字

    阅读完需:约 3 分钟

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

 

【背景】

 

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

 

【作业要求】

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

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

 

【提示】

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

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

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

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

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


业务数据

2020.11 月公布数据,全年日均活跃 1 亿,注册玩家数 6 亿,最高同时在线 100 万。

 

王者荣耀商城业务

1. 购买英雄、

2.购买皮肤

3.购买道具

4. 礼物中心

5. 点券充值

 

关键业务约束

1. 充值用户才有点券;

2. 英雄和皮肤,一样只能买 1 件,有了就不能买了;

3. 英雄和皮肤,道具都是虚拟商品,没有库存限制。

注:登录的异地多话架构设计已在教程中说明,商城方案就默认为已做的部分,商城部分就不再复述了。

 

业务分级

1. 购买英雄

2. 购买皮肤

3. 购买道具

 

数据分类

 

【购买英雄】

1. 用户英雄 ID。

2. 英雄数据:和用户英雄 ID 绑定,只会新建不会修改。

 

【购买皮肤】

1. 用户皮肤 ID。

2. 皮肤数据:和用户皮肤 ID 绑定,只会新建不会修改。

 

【购买道具】

1. 用户道具 ID:

2. 道具数据:和用户道具 ID 绑定,新增或者修改对应的区服的用户的道具数据

 

数据同步

【购买英雄】

RoleID:同登录。

用户英雄 ID:每次新建,全局唯一,不会修改,用算法生成,数据库同步;

英雄数据:和用户英雄 ID 绑定,只会新建不会修改,数据库同步。

 

【购买皮肤】

RoleID:同登录。

用户皮肤 ID:每次新建,全局唯一,不会修改,用算法生成,数据库同步;

皮肤数据:和用户皮肤 ID 绑定,只会新建不会修改,数据库同步。

 

【购买道具】

RoleID:同登录。

用户道具 ID:每次新建,全局唯一,不会修改,用算法生成,数据库同步;

道具数据:和用户道具 ID 绑定,新建或者修改, 数据库同步

 

异常处理

【购买英雄】

1. 用户在逛商城时系统挂掉了怎么办?

重新进入商城即可。

 

2. 用户购买英雄数据未及时同步到异地机房,用户看不到新英雄结果怎么办?

等恢复了再看。

 

【购买皮肤】

同购买英雄

 

【道具购买】

同购买英雄

 

异地多活架构示意图


用户头像

无名

关注

还未添加个人签名 2018.03.14 加入

还未添加个人简介

评论

发布
暂无评论
架构实战-模块七-作业