写点什么

架构实战营模块七作业

用户头像
Geek_d18264
关注
发布于: 1 小时前

王者荣耀商城业务背景

【业务功能】

1.    点券充值;

2.    商品购买(分为英雄和皮肤、鲜花和改名卡两种类型)。

【关键业务约束】

1.    用户登录后才能使用商城相关业务;

2.    用户需调用微信钱包或 QQ 钱包充值点券;

3.    购买行为前需保证点券数量够用;

4.    同一用户在同一区服购买同一英雄和皮肤限购一份。不能重复购买;

5.    同一用户在同一区服购买鲜花、改名卡等道具可以购买多个。

 

业务分级

商品购买 > 点券充值

 

数据分类

【点券充值】

1.    使用微信钱包或 QQ 钱包进行充值;

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

3.    点券余额:强一致性,不可丢失;

 

【商品购买】

1.    购买订单 ID:每次新建,全局唯一,不会修改;

2.    点券余额:强一致性,不可丢失;

3.    英雄和皮肤:和用户 ID 绑定,同一用户在同一区服对同一款英雄和皮肤最多拥有一个,强一致性;

4.    鲜花和改名卡:和用户 ID 绑定,最终一致性、可重复。

 

数据同步

【点券充值】

1.    充值订单 ID 只新建不修改,数据库同步即可;

2.    点券余额强一致性,不可丢失,也使用数据库同步。

 

【商品购买】

1.    购买订单 ID 只新建不修改,数据库同步即可;

2.    点券余额:同上;

3.    英雄和皮肤:和用户 ID 绑定,限购一个,使用数据库同步;

4.    鲜花和改名卡:和用户 ID 绑定,不限购,使用存储系统同步。

 

异常处理

【点券充值】

1.    微信钱包或 QQ 钱包挂了怎么办?

挂维护通告,等钱包功能恢复了再充值。

2.    微信钱包或 QQ 钱包已扣款,此时系统挂了怎么办?

等系统恢复后从充值订单 ID 中获取信息后补发给用户。

【商品购买】

1.    购买商品时付完点券,系统挂了怎么办?

等系统恢复后从购买订单 ID 中获取信息后补发给用户。

2.    用户购买完商品未及时同步到异地机房,用户看不到自己购买的商品怎么办?

等恢复了再看。

 

商城异地多活架构示意图


用户头像

Geek_d18264

关注

还未添加个人签名 2019.04.16 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块七作业