架构实战营 - 模块七
一、业务分级
王者荣耀商城的主要业务场景包括商品、充值、消费,商城中的商品主要是虚拟商品,可以通过点券进行购买,虚拟商品购买成功后立即到账并且不支持退货,部分虚拟商品只能购买一次,比如皮肤。
在以上的业务场景中,充值、消费是相对比较重要的,充值的重要性体现在玩家侧,对于玩家来说,充值但是点券没有到账是比较严重的;对于王者荣耀平台来说,用户消费后但扣款失败,对于平台来说有收入损失。
二、数据分类
2.1 商品
商品 ID:全局唯一,不可变,商品在所有的区服信息是一致的,商品修改少
2.2 充值
充值流水 ID:全局唯一,不可变
支付流水 ID:全局唯一,不可变,每条支付流水对应支付状态,根据微信支付、QQ 支付或者 IOS 支付结果回调进行状态变更
点券流水 ID:全局唯一,不可变,支付成功后,到账用户账户点券,点卷进行增加
2.3 消费
购买记录 ID:全局唯一,不可变,点券不足时,无法购买
点券消费流水 ID:全局唯一,不可变,消费成功后,无法退还
三、数据同步
数据同步方式采用数据库同步,可以采用互为主备的方案进行同步,与课程中用户信息模块的异地多活架构相同。
四、异常处理
商城很多场景都涉及到钱,需要做一套自动对账系统,比如用户购买成功后,机房故障,导致扣款失败,后续可以依赖购买记录与消费流水进行金额对齐,保证平台跟用户的利益没有受到影响。
评论