写点什么

模块七 - 王者荣耀商城异地多活架构设计

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

业务数据

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

背景

现在要实现王者荣耀里面的商城的异地多活架构。

业务分析

这里主要是从数据角度出发,全面覆盖核心业务操作。

业务功能

运营端

  • 上架英雄

  • 上架皮肤

  • 上架道具

  • 上架星元

用户端

  • 购买英雄

  • 购买皮肤

  • 购买道具

  • 购买星元

  • 夺宝

关键业务约束

  • 每个账户同一个英雄只能买一次

  • 每个账户同一个皮肤只能买一次

  • 道具能够多次购买

架构设计

主要按下图分析步骤进行细节设计

业务分级(数据热度)

数据热度排行:英雄>皮肤>道具>星元>夺宝

这里主要做英雄、皮肤、道具三种数据的异地多活。

数据分类

数据细节

  • 账户余额:金币余额

  • 英雄关系:RoleId 与英雄 Id

  • 皮肤关系:RoleId 与皮肤 Id

  • 道具关系:RoleId 与道具 Id


数据同步

  • 账户余额属于强一致数据,暂不做异地多活。

异常处理

  • 买了英雄/角色/道具,但无法使用:让用户等等吧,同步过来就好了

架构图

  • 唯一性:英雄关系、皮肤关系,要增加数据库唯一约束,做到幂等性


发布于: 3 小时前阅读数: 3
用户头像

关注

还未添加个人签名 2018.08.08 加入

还未添加个人简介

评论

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