写点什么

架构实战营:模块六作业

作者:刘璐
  • 2022 年 4 月 07 日
  • 本文字数:809 字

    阅读完需:约 3 分钟

架构实战营:模块六作业

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

【作业要求】

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

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

【提示】

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

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

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

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

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


业务背景

【业务数据】

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

【业务功能】

1. 使用微信或者 QQ 账号登录游戏;

2. 对战:例如匹配、排位、巅峰赛;

3. 商城:购买英雄、皮肤、道具等;

【关键业务约束】

1. 登录用户才能够开;

2. 用户属于不同的区服,例如 Android 平台微信 22 区“刺客信条”,同一微信 ID 可以加入多个区服,俗称“大号”、“小号”;

3.不同的区服对应不同的账号,购买订单各自独立。

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

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

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

一、业务分级


核心业务:商品检索、订单、充值、支付、登录

二、数据分类

【充值】

1. 订单号:全局唯一;

2. 交易号:全局唯一;

3. 用户点卷数量:全局强一致。

【订单】

1.订单号:全局唯一

2.商品 ID:全局唯一

3.商品类型:全局唯一

三、数据同步

【充值】

1. 订单号:数据库同步;

2. 交易号:数据库同步;

3. 用户点卷数量:数据库同步。

【订单】

1.订单号:数据库同步

2.商品 ID:数据库同步

3.商品类型:数据库同步

四、异常处理

【充值】

1.微信钱包和 QQ 钱包挂了怎么办?

提示异常,等待恢复。

【购买】

在非归属地处理,使用临时事务表记录充值金额。带归属地机房恢复后,进行事务合并处理



用户头像

刘璐

关注

还未添加个人签名 2018.03.29 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营:模块六作业_刘璐_InfoQ写作平台