写点什么

架构训练营 模块七

作者:Geek_16d2b8
  • 2022 年 4 月 07 日
  • 本文字数:1021 字

    阅读完需:约 3 分钟

业务特点

王者荣耀商城卖的是游戏里的虚拟物品,在交易的过程中,不需要商品库存量和物流信息的问题。

一、业务分级

商城作为单独的业务,无须再分级

二、数据分类

【商城】

RoleID:和区分对应关系,只会新建不会修改

商品数据:商城虚拟商品(英雄、皮肤、道具)的数据商品上架后很少修改(英雄上架就一直存在,皮肤上架后大部分一直存在,另一部分有期限)。

充值订单 ID:每次新建,全局唯一,不会修改;

充值订单数据:和订单 ID 绑定,不会修改;

支付订单 ID:每次新建,全局唯一,不会修改;

支付订单数据:和订单 ID 绑定,不会修改

玩家充值虚拟货币余额,随着充值和购买虚拟商品操作会进行修改,且具有强一致性,不可丢失。

玩家已购买的商品数据,数据只有新增,没有修改,只需要最终一致性就可以,不可丢失(英雄和皮肤:每个账号只能购买一次;道具可购买多次)

三、数据同步

【商城】

RoleID:和区分对应关系,只会新建不会修改,数据库同步

商品数据:商城虚拟商品(英雄、皮肤、道具)的数据商品上架后很少修改(英雄上架就一直存在,皮肤上架后大部分一直存在,另一部分有期限),数据库同步

充值订单 ID:每次新建,全局唯一,不会修改,数据库同步

充值订单数据:和订单 ID 绑定,不会修改,数据库同步

支付订单 ID:每次新建,全局唯一,不会修改,数据库同步

支付订单数据:和订单 ID 绑定,不会修改,数据库同步

玩家充值虚拟货币余额,随着充值和购买虚拟商品操作会进行修改,且具有强一致性,不可丢失,数据库同步

玩家已购买的商品数据,数据只有新增,没有修改,只需要最终一致性就可以,不可丢失(英雄和皮肤:每个账号只能购买一次;道具可购买多次)数据库同步

四、异常处理

  • 商城不能进入或者无法购买商品?

挂公告:系统维护

  • 购买英雄或皮肤这种一次性商品,没有同步到异地机房;机房挂了转登到异地机房,发现还没购买,重复购买了,怎么办?

数据恢复同步后,出异常数据给营运人员,确认后人工或系统自动退回已花费的虚拟货币

  • 花费了一定虚拟货币购买商品,没有同步到异地机房;机房挂了转登到异地机房,余额还没扣减,再次购买商品,导致实际购买商品数量超过余额,怎么办?

允许余额透支。待数据恢复同步后,显示余额为透支状态,可以提示玩家尽快充值,透支的商品设置暂无法使用

  • 商品数据未能同步到异地机房,数据不一致怎么办?

容忍,待运营手动修复。

  • 充值的过程中机房挂了,用户付了钱确没有充值成功怎么办?

如果充值的订单数据还在,则主动查询支付结果,否则需要和渠道进行对账。


系统架构


用户头像

Geek_16d2b8

关注

还未添加个人签名 2019.03.21 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 模块七_架构训练营_Geek_16d2b8_InfoQ写作平台