写点什么

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

作者:奔奔
  • 2021 年 12 月 19 日
  • 本文字数:723 字

    阅读完需:约 2 分钟

【分析】

采用业务定制型异地多活

按照业务的优先级进行排序,优先保证核心业务异地多活 ;

基于核心业务的流程和数据,设计定制化的异地多活架构。

步骤

  1. 业务分级

2. 数据分类

  1. 数据同步

4. 异常处理


王者荣耀业务背景

【业务数据】

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


【商城业务功能】

1、充值点券

2、使用点券购买英雄、皮肤、道具。

3、折扣优惠

4、金币购买英雄、碎片兑换英雄 or 皮肤。


【关键业务约束】

1. 买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;

2. 买鲜花、改名卡之类的道具可以买多个;

3. 充值点券需要保证一致性;


设计步骤 1 - - 业务分级

【核心业务】

1、充值点券

2、使用点券购买英雄、皮肤、道具。

备注:1.2 点强相关。


设计步骤 2 - - 数据分类

【充值点券】

1、剩余点券数与王者荣耀全局唯一 RoleID 绑定。

2、剩余点数会更新频繁。


【使用点券购买英雄、皮肤、道具】

1、不同英雄和皮肤对于 RoleID 具有唯一性

2、鲜花、改名卡之类的道具可以买多个

3、英雄、皮肤、鲜花等道具具备有效期


设计步骤 3 - - 数据同步

【充值点券】

1、剩余点券数和 RoleID 绑定,且一致性要求高,用户使用评率相对不高,使用数据库同步即可


【使用点券购买英雄、皮肤、道具】

1、英雄、皮肤,存在新增和修改,用户使用评率相对不高,使用数据库同步即可

2、鲜花、改名卡等道具存在新增、修改、删除,用户使用评率相对不高,使用数据库同步即可


设计步骤 4 - -异常处理


【充值点券】

1、如果商城服务器挂了,直接反馈用户商城维护,等商城恢复了再充值

2、如果刚购买了点券,该区域服务异常,数据没有同步到异地;等一会恢复了再看


【使用点券购买英雄、皮肤、道具】

1、如果刚购买了鲜花、改名卡等道具,数据没有同步到异地;等一会恢复了再看



用户头像

奔奔

关注

还未添加个人签名 2020.07.20 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计