写点什么

王者荣耀异地多活架构

用户头像
小智
关注
发布于: 1 小时前
王者荣耀异地多活架构

1.背景

【背景】

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

【作业要求】

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

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

【提示】

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

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

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

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

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

2. 具体设计思路

2.1 登录信息

通过微信、QQ 登录,登录成功后,生成全局的 RoleID,后续所有操作都是基于这个 roleID 操作。

2.2 数据同步

1、虚拟商品和实体商品两个主要区别是:虚拟商品没有物流和实际库存的概念

2、用户点券的记录存在 mysql 数据,通过数据复制同步两个机房的数据

3、因为没有库存概念及物流,可以超卖,及购买后直接受到货。


登录信息利用数据库加消息队列同步

订单信息,订单 ID 全局唯一,数据库加消息队列同步

充值点券账户,需要强一致性,数据库同步

商品库存,可以允许超卖,每个机房可以放置不同库存,无需同步

2.3 异常处理

充值点券不一致后,需要机房恢复后正常;

订单看不到,也是需要机房恢复后正常。


3.整理架构图



用户头像

小智

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀异地多活架构