写点什么

极客时间【架构实战营】第二期 模块七作业

用户头像
Geek_91606e
关注
发布于: 4 小时前

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

商城业务

充值业务(调用微信钱包或者 QQ 钱包充值点券);

出售业务(英雄、皮肤、游戏道具等),因为是虚拟物品,没有库存限制;

根据用户信息判断商品是否可出售(英雄、皮肤不可重复购买,余额不足需要先充值再购买等)。

数据分类

  1. RoleID:微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID;

  2. 用户数据:包括余额、已有皮肤及道具等;

  3. 订单 ID:充值及消费的单号;

  4. 订单数据:充值及消费的内容及数量。


数据同步

  1. RoleID:只会新建不会修改,数据库同步即可;

  2. 用户数据:频繁修改,强一致性且不可丢失,数据库同步即可;

  3. 订单 ID:每次新建,全局唯一,不会修改,用算法生成,数据库同步即可;

  4. 订单数据:和订单 ID 绑定,不会修改,数据库同步即可。


异常处理

  1. 充值未到账/余额显示不正常怎么办?

等待数据完成同步即可

  1. 购买的物品未及时收到?

等待数据完成同步即可。如同步未完成系统挂掉,可采取点券补偿。


王者荣耀商城异地多活架构示意图


用户头像

Geek_91606e

关注

还未添加个人签名 2021.07.22 加入

还未添加个人简介

评论

发布
暂无评论
极客时间【架构实战营】第二期 模块七作业