【背景】

假设您现在决定在《王者荣耀》中实现商城的远程多活架构。 请您分析、设计。

【工作要求】

1、分析王者荣耀商城的经营特点,设计其异地多元活动结构;

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

【暗示】

1、王者荣耀的商城是虚拟商品商城,与淘宝等实体电商店有两大区别。 注意辨别;

2、用户须先调用微信钱包或钱包充值优惠券,然后在商城使用优惠券支付;

3、用户购买英雄和皮肤时,只能购买其中一款相同的英雄和皮肤,不能重复购买;

4、用户可以购买鲜花、改名卡等多种道具;

1、业务分类

1、个人资本账户

2、商城

3. 购物

2. 数据分类

【个人资金账户】

1. 积分及金币数量

2.消费及充值记录

【购物中心】

1.产品分类(皮肤、英雄、鲜花等)暗区突围外挂

2.产品信息(名称、价格、描述等)

【购物】

1. 订单信息

2、用户购买的产品(皮肤、英雄、鲜花等)

3、数据同步

【个人资金账户】

1、优惠券、金币等数据强一致,采用数据库同步。

2、消费充值记录ID全局唯一且不可变,采用数据库同步。

作业:王者荣耀商城异地多活架构设计(背景)(图1)

【购物中心】

产品分类、产品信息等信息很少修改,也没有库存、物流等数据,所以可以采用数据库同步

【购物】

1、订单id全局唯一,后续需要通过数据库同步+消息队列同步的方式更改订单状态。

2、产品与用户之间的对应数据可能会发生变化。 采用数据库同步+消息队列同步。

4.异常处理

1、刚付款就挂了,远程机房优惠券还没有同步。

您可以等到服务恢复后再购买王者荣耀辅助购买平台,或者充值购买,稍后将通过消费和充值记录对用户进行补偿。

2、数据在原机房充值消费后,业务还没来得及同步到异地机房就挂掉了,导致用户无法在异地机房再次消费。

这是透支金额,可以忍受王者荣耀辅助购买平台,因为虚拟商品没有成本。

3、以后购买信息无法同步,用户重复购买该产品。

服务恢复后,鲜花和其他可重复购买商品的数量可以合并。 对于英雄皮肤等不可重复购买的产品,用户可以得到一定程度的补偿。

4.微信钱包或者钱包挂了。

不提供充值购买服务。 有维护通知。 先玩游戏,等恢复后再购买。