写点什么

架构实战营 模块七作业

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

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

1. 背景

假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。

2. 异地多活架构设计

2.0 业务背景

【业务数据】

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

时在线 100 万。

【业务功能】

1. 使用微信或者 QQ 账号登录游戏;

2. 对战:例如匹配、排位、巅峰赛;

3. 商城:购买英雄、皮肤、道具等;

4. 活动:领取各种奖励和道具;

5. 社区:各种攻略,视频等。

【关键业务约束】

1. 登录用户才能充值。

  1. 余额不够不能购买道具。

2.1 业务分级

商城

2.2 数据分类

  • RoleID:登录后就不会变了;

  • 王者荣耀只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。

  • 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;点券有强一致性要求,不可丢失。

  • 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;数量不会修改。强一致性要求,不可丢失。

  • 用户买鲜花、改名卡之类的道具可以买多个;数量可以修改。强一致性要求,不可丢失。

2.3 数据同步

RoleID 和区服对应关系:只新建不修改;数据库同步。

点券:强一致性,不可丢失;数据库同步。

英雄和皮肤:强一致性,不可丢失;数据库同步。

鲜花、改名卡之类的道具:强一致性,不可丢失;数据库同步。

2.4 异常处理

1. 微信和 QQ 挂了怎么办?

直接挂公告:系统停服维护。

  1. 充值点券无法支付怎么办?

提示:系统暂时无法支付

  1. 道具购买出错怎么办?

无法购买要提示,不扣点券;数量出错,提示错误,后期补偿。

2.5 异地多活架构示意图


用户头像

netspecial

关注

还未添加个人签名 2011.07.20 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 模块七作业