写点什么

王者荣耀商城异地多活架构设计(架构实战营 模块七作业)

作者:Gor
  • 2022 年 7 月 20 日
  • 本文字数:733 字

    阅读完需:约 2 分钟

业务特点

虚拟商品没有库存限制,也基本没有成本,售出后无法进行退货。

业务分级

王者荣耀商城包含下列场景:登录、点券充值、使用点券购买商品、商品上下架。

从收入来源的角度来考虑,核心场景应为登录、点券充值以及购买商品。

数据分类

用户登录

依赖于王者荣耀 app 的登录,通过 session 来验证登录状态。

session:全局唯一,最终一致。

点券充值

点券账户 ID:全局唯一

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

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

充值记录:与充值记录 ID 绑定,只会新建不会修改

购买商品

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

购买记录:与兑换记录 ID 绑定,只会新建不会修改

商品数据:最终一致性,可以丢失,可恢复

数据同步

用户登录

session:回源溯取+重新生成

点券充值

点券账户 ID:数据库同步+消息队列同步

点券余额:全局一致性,采用数据库同步,充值只能在区服主机进行。

充值记录 ID:数据库同步+消息队列同步

充值记录:数据库同步+消息队列同步

购买商品

购买记录 ID:数据库同步+消息队列同步

购买记录:数据库同步+消息队列同步

商品数据:数据库同步+消息队列同步

异常处理

用户登录

同对战分析。

点券充值

1.微信支付挂了

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

2.点券余额未及时同步到异地机房

等恢复了再购买。

购买商品

1.用户购买的商品未及时同步到异地机房,用户看不到购买的英雄或皮肤

等恢复了再使用。

2.用户购买的商品未及时同步到异地机房,用户看不到购买的英雄或皮肤,重复进行购买

对于英雄或皮肤这些不能重复购买的商品,可进行退款处理。

对于鲜花或改名卡这些可重复购买的商品,如果影响客户范围不大,可让客服对其进行安抚,如果影响范围够大,可进行退款但不退货,因为虚拟商品的成本较低。

3.异地机房没有商品购买记录,没有及时发放

等系统恢复了再发放。

异地多活架构图


发布于: 刚刚阅读数: 3
用户头像

Gor

关注

还未添加个人签名 2020.05.05 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计(架构实战营 模块七作业)_Gor_InfoQ写作社区