写点什么

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

作者:五月雨
  • 2022 年 4 月 07 日
  • 本文字数:472 字

    阅读完需:约 2 分钟

业务背景

【业务数据】

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

【业务功能】

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

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

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

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

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

【关键业务约束】

1. 登录用户才能对战;

2. 用户属于不同的区服,例如 Android 平台微信 22 区“刺客信条”,同一微信 ID 可以加入多个区服,俗称“大号”、“小号”;

3. 不同区服用户可以一起对战。

设计步骤

业务分级

异地多活应该保证的核心业务为 登录,对战和商城(商城为本文章的设计要求)

数据分类

【商城】

点券余额:不可丢失,强一致性:

购买记录 ID:每次新建,全局唯一,不会修改

购买记录:与购买记录 ID 绑定,只会新建不会删除

数据同步

【商城】

点券余额:强一致性;采用数据库同步

购买记录 ID:每次新建,全局唯一,不会修改,数据库同步即可

购买记录:与购买记录 ID 绑定,不会修改,数据库同步即可

异常处理

  1. 购买重复了怎么办?

购买记录取消,回退点券

  1. 商城无法打开怎么办?

等恢复了再打开购买

  1. 支付不了怎么办?

等恢复了再充值

异地多活设计



用户头像

五月雨

关注

还未添加个人签名 2021.12.12 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计_架构实战营_五月雨_InfoQ写作平台