写点什么

王者荣耀商城异地多活方案设计

用户头像
gawaine
关注
发布于: 2021 年 09 月 08 日

一、业务背景

  • 业务数据

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

  • 业务功能

使用微信或者 QQ 账号登录

对战:匹配、排位、巅峰赛等

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

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

社区:各种攻略,视频等

  • 关键业务约束

需要先使用微信或者 QQ 登录游戏才能进入商城

需要先调用微信钱包或者 QQ 钱包进行充值点券

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

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

商品都为虚拟商品,不需要考虑库存(或者无穷大)和物流

二、业务分级

商城按照重要性,业务为登录、充值和购买。

三、数据分类

登录
  • 依赖 QQ 和微信账号授权登录,本身无需登录信息

  • 微信和 QQ 授权登录会返回给全局唯一 RoleID

充值
  • RoleID 登录后就不会变

  • 点券余额需要全局一致性,充值只在归属区服完成

购买
  • RoleID 登录后不改变

  • 订单信息每次都是新增,全局唯一,不会进行修改

  • 唯一性的商品全局一致性

  • 可以多个的商品保证最终一致性

四、数据同步

登录
  • RoleID 不会修改,数据库同步

充值
  • RoleID 和区服对应关系,只会进行新建,数据库同步

  • 点券余额,需要保证强一致性,数据库同步

购买
  • RoleID 不会修改,数据库同步

  • 订单信息,需要保证强一致性,数据库同步

  • 唯一性商品,强一致性,数据库同步

  • 可以多个商品的,采用数据库同步+消息队列同步


五、异常处理

登录
  • 直接挂公告:系统停服维护

充值
  • 直接挂公告:系统停服维护

购买
  • 等待服务正常后进行购买


六、多活架构示意图



用户头像

gawaine

关注

还未添加个人签名 2018.08.07 加入

还未添加个人简介

评论

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