写点什么

架构训练营 - 模块七

作者:Geek_9de3de
  • 2021 年 12 月 12 日
  • 本文字数:701 字

    阅读完需:约 2 分钟

业务数据

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


业务功能

1、浏览,进入商城查看商品

2、登陆,只有登陆后才可以充值或购买

3、充值,通过微信或 qq 钱包充值点券

4、订单,用户选择商品后系统创建支付订单

5、支付,扣减用户点券

6、发送,虚拟商品给用户

关键业务约束

1、只有查看商品后才可以购买商品

2、用户只能通过微信或 qq 钱包充值获得点券,才可以购买商品

3、部分商品在某些限定条件下只能买一个,部分商品可以重复购买


业务分级

异地多火应该优先保证以下业务

登陆、浏览商品,支付

原因:

1、创建支付订单失败的话用户可以重新提交购物车,所以可以不用优先考虑异地多活。

1、充值支持微信和 qq 钱包,一个渠道不可用时用户可以选择另一个渠道充值,这两个渠道同时不可用的概率比较低,所以可以不用优先考虑异地多活。

2、检查商品是否可以重复购买,这个问题不大,可以在后续流程中再次校验,对不允许重复购买的商品执行退货处理,所以可以不用优先考虑异地多活。

3、由于是虚拟商品,没有物流,所以可以不用优先考虑异地多活。

业务分类

【登陆】

依赖王者荣耀自身的用户登陆,登陆后获得用户全局唯一的 uid。

【浏览商品】

依赖商品数据,商品一定创建,商品 id 不会变更,商品属性不会频繁修改。

【订单】

依赖用户所提交购买的商品信息,主要包括商品 id 和数量。

【支付】

1、依赖用户提交的要购买的商品 id,数量信息。

2、充值后的点券,点券不足无法支付。

异常处理

【登陆】

直接挂公告:系统当前无法登陆,可能请耐心等候。

【浏览商品】

商品服务异常:切换机房,不影响用户浏览商品。

【支付】

用户刚充值的点券可能没有完全同步到新机房,余额不足的情况提示用户稍后再试。

异地多活架构示意图



用户头像

Geek_9de3de

关注

还未添加个人签名 2019.12.10 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 - 模块七