写点什么

架构实战营 模块七作业

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

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

背景

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

异地多活架构设计

业务背景

【业务数据】


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


时在线 100 万。


【业务功能】


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

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

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

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

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


【关键业务约束】


  1. 登录用户才能充值。

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

业务分级

商城的功能包含:


  • 购买英雄

  • 购买皮肤

  • 购买碎片

  • 夺宝

  • 充值

  • 送礼物

  • 星元


TOP3 分析:


  • 新手:进入游戏后,系统会默认送一些英雄,此时处于熟悉游戏的过程中,充值、买英雄、买皮肤,是快速提高战力的手段

  • 老鸟:一般都有不少的英雄了,买皮肤、买碎片、夺宝会是日常行为


因此前三名基本上是:


  1. 充值

  2. 买英雄

  3. 买皮肤

数据分类

  • 充值

  • 依赖 QQ 钱包、微信支付付款,付款后变成点券

  • 点券和用户绑定

  • 数据不能丢失,一致性强

  • 买英雄

  • 使用点券购买

  • 购买后在当前用户下唯一

  • 购买后不能卖出、删除

  • 数据不能丢失,一致性强

  • 买皮肤

  • 使用点券购买

  • 购买后在当前用户下唯一

  • 购买后不能卖出、删除

  • 一个英雄可以有多个皮肤

  • 数据不能丢失,一致性强

数据同步



异常处理

  • 充值

  • QQ 和微信支付挂了怎么办

  • 直接公告,停服

  • 买英雄

  • 以前买过的英雄没了怎么办

  • 换一个英雄玩,后续运营补偿

  • 购买后,没有收到

  • 等待一段时间后再看,或者后续补偿

  • 买皮肤

  • 以前买过的皮肤没了怎么办

  • 可以用默认皮肤,后续运营补偿

  • 购买后,没有收到

  • 等待一段时间后再看,或者后续补偿

异地多活架构示意图


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

eoeoeo

关注

还未添加个人签名 2019.04.03 加入

还未添加个人简介

评论

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