写点什么

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

作者:流火
  • 2022 年 6 月 02 日
  • 本文字数:903 字

    阅读完需:约 3 分钟

【业务背景】


【提示】

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

(无物流,无库存)

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

(点券充值,点券支付)

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

(商品购买一次)

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

(商品购买多次)

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

【业务】

以商城为基础 注册,登录,点券充值,商品上架,商品购买,订单管理。

【设计分析】

【业务分级】

核心业务 登录,商品购买

【数据分类】

【登录】

1.依赖 QQ 和微信账号授权登录,本身无需登录信息;

2.微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID;

3.王者荣耀只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。

【商品购买】

1.RoleID:登录后就不会变了

2.充值记录:每次新建,全局唯一,不可修改;

3.订单记录,每次新建,全局唯一,很少修改(状态属性很少修改,商品属性不可修改);

4.点券余额,全局强一致性

5.已购商品属性:全局唯一,很少修改;

6.订单 ID,商品 ID 算法生成

【数据同步】

【登录】

1.RoleID 和区服对应关系,只会新建不会修改,数据库同步即可。

【商品购买】

1.RoleID:登录后就不会变了

2.充值记录:每次新建,全局唯一,不可修改,数据库+消息队列同步;

3.订单记录,每次新建,全局唯一,很少修改(状态属性很少修改,商品属性不可修改),数据库+消息队列同步;

4.点券余额,全局强一致性,数据库同步

5.已购商品属性:全局唯一,很少修改,数据库+消息队列同步;

6.订单 ID,商品 ID 算法生成;

【异常处理】

【登录】

1. 新注册的用户数据还没有同步到异地机房 ,如何参加会议?

第一种方式是直接不允许参加,用户体验不好;

第二种方式是不登录也可以参加会议,由发起者生成邀请码/会议码/私密链接等方式邀请加入

【商品购买】

1.无法购买点券,点券余额不足?

1.等系统正常,购买 2.允许部分透支

2.购买重复或者购买较多

线下联系,补偿或者回退

【系统架构】


发布于: 刚刚阅读数: 4
用户头像

流火

关注

还未添加个人签名 2018.01.31 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计_流火_InfoQ写作社区