写点什么

架构实战营 第 6 期 模块七课后作业

作者:火钳刘明
  • 2022 年 5 月 31 日
  • 本文字数:527 字

    阅读完需:约 2 分钟


业务分级

识别主要业务如下:

  • 浏览商城

  • 充值点券

  • 购买英雄和皮肤

  • 购买道具


数据分类

【浏览商城】

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

【充值点券】

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

【购买英雄和皮肤】

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

【购买道具】

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

数据同步

【浏览商城】

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

【充值点券】

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

【购买英雄和皮肤】

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

【购买道具】

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

异常处理

【浏览商城】

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

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

【充值点券】

同步数据库失败怎么办?

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

【购买英雄和皮肤】

同步数据库失败怎么办?

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

【购买道具】

同步数据库失败怎么办?

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

异地多活架构设计


用户头像

火钳刘明

关注

还未添加个人签名 2021.07.02 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 第 6 期 模块七课后作业_#架构实战营_火钳刘明_InfoQ写作社区