写点什么

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

作者:阿卷
  • 2022 年 4 月 07 日
  • 本文字数:678 字

    阅读完需:约 2 分钟

业务背景

业务数据

2020.11 月公布数据,全年日均活跃 1 亿,注册玩家数 6 亿,最高同时在线 100 万。

业务功能

  1. 点券充值

  2. 商品浏览

  3. 通过点券购买商品

  4. 限制购买次数

  5. 购买记录

关键业务约束

  1. 英雄和皮肤只能购买一次

  2. 已有英雄和皮肤即时为购买过也不能购买

  3. 必须先充值点券才能购买

业务分级

商品预览 > 下单 > 点券充值 > 购买记录

分级原因:只有看到商品才会发起购买,并不是每次下单前都会充值,可以使用已有的点券购买,下单不可用充值了也没用,所以下单优先级要高于充值。

数据分类

商品信息:添加之后基本不会修改

订单信息:交易完成之后不会修改

充值信息:交易完成之后不会修改

点券余额:会变动

数据同步

商品信息:主库修改,数据库+消息队列同步,最终一致

订单信息:根据用户交易时固定机房,交易完成后数据库+消息队列同步,最终一致

充值信息:根据用户充值时固定机房生成订单号,回调根据订单号路由到固定机房,充值完成后充值记录数据库+消息队列同步,最终一致

点券余额:根据用户固定机房操作,变动之后数据库+消息队列同步,最终一致

异常处理

1、商品新增和修改为即时同步到其他机房

可接收延迟看到商品信息

2、订单记录未即时同步到其他机房

回调和处理过程根据用户路由到固定机房,查看可以接收一定的延迟,因为一般用户看到购买的商品已在包裹中是不会去看订单的

3、充值记录未即时同步到其他机房

回调和处理过程根据用户路由到固定机房,查看可以接收一定的延迟,因为用户看到点券增加了一般是不会去看充值记录的

4、点券余额未即时同步到其他机房

根据用户路由到固定机房读取


架构示意图

商品服务的修改只要北方机房操作,同步到南方机房,订单和点券根据用户路由到固定机房操作

用户头像

阿卷

关注

还未添加个人签名 2021.06.29 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计_架构实战营_阿卷_InfoQ写作平台