写点什么

架构训练 模块七

作者:小马
  • 2022 年 6 月 02 日
  • 本文字数:520 字

    阅读完需:约 2 分钟

  • 业务分级

识别主要业务如下:

浏览商城

充值点券

购买英雄和皮肤

购买道具

  • 数据分类

【浏览商城】

商品信息:只会上新或者下架商品,虚拟商品,所以没有库存信息。

【充值点券】

点券余额:微信或者 QQ 支付成功后增加,购买商品后减少。

【购买英雄和皮肤】

拥有的英雄和皮肤:第一次购买后增加,一旦拥有之后不会减少,不能重复购买。

【购买道具】

拥有的道具数量:每次购买之后增加,使用之后减少,可以重复购买。

  • 数据同步

【浏览商城】

商品信息:很少会有新增,新增后几乎没有修改,数据库同步即可。

【充值点券】

点券余额:需要保持最终一致性,采用数据库同步 + 消息队列同步。

【购买英雄和皮肤】

拥有的英雄和皮肤:需要保持最终一致性,数据库同步 + 消息队列同步。

【购买道具】

拥有的道具数量:需要保持最终一致性,数据库同步 + 消息队列同步。

  • 异常处理

【浏览商城】

一个区服务器上架了新商品,没有同步到异地机房怎么办?

等系统恢复就能看到新商品。

【充值点券】

同步数据库失败怎么办?

允许点券一定额度的透支,故障恢复之后同步用户的账户余额。

【购买英雄和皮肤】

同步数据库失败怎么办?

允许购买,故障恢复后检查时候有重复购买,并进行合并。

【购买道具】

同步数据库失败怎么办?

允许购买,故障恢复后对道具数量进行合并。

用户头像

小马

关注

还未添加个人签名 2017.12.26 加入

还未添加个人简介

评论

发布
暂无评论
架构训练 模块七_#架构训练营_小马_InfoQ写作社区