写点什么

【架构实战营】第 7 模块作业

用户头像
swordman
关注
发布于: 20 小时前
【架构实战营】第 7 模块作业

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

【背景】

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


【作业要求】

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

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


【提示】

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

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

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

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

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


【作业内容】

一。王者荣耀商城业务特点

  1. 虚拟物品商城和实物电商的区别:库存不能拆分(有些商品只能买一个),没有物流(支付后订单即完成);

  2. 充值需要先和微信或 QQ 进行交互,获得点券后,才能在商城进行交易;


二。数据分类

  1. RoleID:登陆后不会改变,用于和微信或 QQ 进行交互;

  2. 订单 ID:下单支付后不会改变;

  3. 订单数据:和订单 ID 绑定,只会新建不会修改


三。数据同步

  1. RoleID:数据库同步

  2. 订单 ID:全局唯一,不会修改,用算法生成,数据库同步

  3. 订单数据:数据库同步


四。异常处理

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

直接挂公告:商城停服维护。


  1. 用户在商城中购买了英雄/皮肤,未及时同步到异地机房,用户再次进行购买同一商品怎么办?

等系统恢复了,数据库同步了才能再次下单。


五。商城异地多活架构示意图

和第五课王者荣耀异地多活架构图基本一致,只是将对战服务器换成商城服务器。

(没看出有啥区别)


用户头像

swordman

关注

还未添加个人签名 2017.10.17 加入

还未添加个人简介

评论

发布
暂无评论
【架构实战营】第 7 模块作业