写点什么

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

用户头像
Lane
关注
发布于: 3 小时前

作业要求

【背景】

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

【作业要求】

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

【提示】

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

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

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

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


一、业务分级

分析:商城主要可购买的商品为 英雄、皮肤、礼物、特惠、夺宝、礼物 均为虚拟商品,无需物流和库存。

购买虚拟物品均需要充值,购买虚拟物品还可以用余额,想要购买之前的形式还必需保证用户可以登录。

因此 TOP3 为 登录,充值,购买

二、数据分类

1.RoleID 用户登录后就不会变,只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。

2.充值回用 QQ 微信等第三方充值,王者需要记录充值订单 ID,点券数量对应的区服信息,充值的数据只会新增不会修改。

3.用户在商城里用点券支付,购买虚拟商品,需要记录购买订单与对应区服的信息,购买的商品与对应区服的信息。


三、数据同步

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

2.充值点券订单 id 和区服对应关系,只会新建不会修改,数控库同步

3.点券余额与区服的对应关系,强一致性,考虑采用数据库同步

4.购买订单与对应区服的信息,强一致性,考虑采用数据库同步


四、异常处理

1.充值过程中第三方支付业务挂了怎么办?

直接挂公告,系统停服

2.购买道具过程中挂了怎么吧?

人工订正数据,红包形式补偿客户

3.用户在某个区服购买了点券,没同步到异地机房,购买不了商品了怎么办?

等系统恢复

3.用户在某个区服购买的商品未能及时同步到异地机房,用户无法使用道具(商品)怎么办?

等恢复了在使用


五、异地多活架构设计图



用户头像

Lane

关注

还有梦想 2018.07.05 加入

还未添加个人简介

评论

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