写点什么

模块 7 作业

  • 2021 年 12 月 23 日
  • 本文字数:534 字

    阅读完需:约 2 分钟

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

【背景】

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

【作业要求】

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

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

【提示】

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

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

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

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

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


一、业务特点

  1. 虚拟物品商城中的物品没有库存的概念,是一个虚拟物品,不存在库存拆分的问题

  2. 虚拟商品购买之后立即生效,不需要通过下单和物流跟踪


二、异地多活架构

1.业务分级

核心业务有注册、登陆、点券充值、道具购买

需要异地多活的有登陆、点券充值、道具购买


2.数据分类

用户 ID 是全局唯一,不可变

点券是最终一致性,可以在一定阈值内透支

道具是全局唯一,不可变


3.数据同步

点券用数据库同步

用户皮肤和英雄用数据库+消息队列同步

道具用数据库同步


4.异常处理

1.点券没有同步到异地机房

等待同步完成

2.道具没有同步到异地机房

可以购买,道具可以有多个,只要点券透支在一定阈值内都可购买,最终进行校验


用户头像

还未添加个人签名 2017.11.04 加入

还未添加个人简介

评论

发布
暂无评论
模块7作业