写点什么

架构实战营模块 7 作业

作者:Roy
  • 2022 年 8 月 28 日
    上海
  • 本文字数:541 字

    阅读完需:约 2 分钟

背景】

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

【作业要求】

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

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

【提示】

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

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

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

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

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


答案:

数据分类

  • 用户 id 全局唯一

  • 点券的数据会增减

  • 用户购买同样的英雄和皮肤记录的唯一标识

  • 鲜花和道具数据可增加

数据同步

  • 用户 id,全局唯一,不可变,采用数据库同步 + 消息队列同步

  • 用户购买点券的数据,全局一致性,采用数据库同步余额,充值只能在归属地充值

  • 用户购买英雄和皮肤的记录,全局一致性,数据库同步,因为只有新增

  • 用户购买鲜花和改名卡之类的道具数据库同步+消息队列同步,因为只有新增

异常处理

  • 如果用户购买点券数据,没有同步到异地机房怎么办,再次购买即可

  • 用户购买过英雄或者皮肤,没有同步到异地机房怎么办,再次购买,到时人工补偿

  • 用户购买鲜花和改名卡之类的道具,没有同步到异地机房怎么办,先不用,等回复再使用

用户头像

Roy

关注

还未添加个人签名 2018.08.07 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块 7 作业_架构实战营_Roy_InfoQ写作社区