架构实战训练营 - 模块七课后作业
【背景】
假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。
【作业要求】
分析王者荣耀商城的业务特点,设计其异地多活架构;
按照模块 7 第 5 课的方法来设计异地多活架构。
一、业务分级
王者荣耀的商城业务主要分:碎片商店、英雄(购买)、皮肤(购买)、星元、礼物、特惠、夺宝。
核心业务是英雄(购买)、皮肤(购买)。因为这个两个是直接带来商城收入,也是商城的基本功能。
虚拟产品不同于淘宝这种实物电商,没有库存和物流的概念。
二、数据分类
1、购买:英雄(购买)、皮肤(购买),以 ios 为例,依赖 Appstore 的充值功能。这个数据只会新增,不会修改。每个 roleId 只能绑定一个英雄或者特定的皮肤。
2、查看购买到的英雄或者皮肤,这个数据只会新增,不会修改。
三、数据同步
roleID(角色 ID)和购买、查看购买的关系数据,数据只会增加,不会修改,数据库同步即可
四、异常处理
1、购买失败或者查看购买失败,怎么办?
等系统恢复再购买。
2、数据未及时同步到异地机房,怎么办?
等系统恢复再看。
五、异地多活示意图
版权声明: 本文为 InfoQ 作者【Johnny】的原创文章。
原文链接:【http://xie.infoq.cn/article/d8b0215407fb3d1019c132e40】。未经作者许可,禁止转载。
评论