极客时间【架构实战营】第二期 模块七作业
王者荣耀商城异地多活架构设计
商城业务
充值业务(调用微信钱包或者 QQ 钱包充值点券);
出售业务(英雄、皮肤、游戏道具等),因为是虚拟物品,没有库存限制;
根据用户信息判断商品是否可出售(英雄、皮肤不可重复购买,余额不足需要先充值再购买等)。
数据分类
RoleID:微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID;
用户数据:包括余额、已有皮肤及道具等;
订单 ID:充值及消费的单号;
订单数据:充值及消费的内容及数量。
数据同步
RoleID:只会新建不会修改,数据库同步即可;
用户数据:频繁修改,强一致性且不可丢失,数据库同步即可;
订单 ID:每次新建,全局唯一,不会修改,用算法生成,数据库同步即可;
订单数据:和订单 ID 绑定,不会修改,数据库同步即可。
异常处理
充值未到账/余额显示不正常怎么办?
等待数据完成同步即可
购买的物品未及时收到?
等待数据完成同步即可。如同步未完成系统挂掉,可采取点券补偿。
评论