模块七课后作业
设计步骤 1 - 业务分级
王者荣耀商城里卖的都是虚拟的商品,遇见最多的情况就是限时出售,不存在剩余库存这一说法,对于并发量可能是某些特别火爆的活动,在一开始的时候会增加服务器压力,但后续会随着时间趋于稳定。关键是要让用户充值并且能正常换取点券,再用点券去消费。如果确实活动太火爆,用户需要等待一段时间才能在仓库收到购买的东西也是可以容忍的。
王者荣耀商城的业务核心
创建订单。
处理支付回调结果。
游戏里消费的是虚拟商品。
设计步骤 2 - 数据分类
【下单和支付】
系统需要创建购买订单。
需要等待微信、苹果商店支付回调。
需要处理支付的回调结果对订单状态做变更。
【消费】
根据支付结果,将游戏虚拟商品发放给玩家。
如果是同一个英雄或者同一个皮肤,下次就不能再次发起购买请求了。
如果是购买铭文或者是钻石鲜花改名卡之类可以购买多次。
设计步骤 3 - 数据同步
【下单】
针对英雄和皮肤这类只能购买一次的虚拟商品,采用订单全局唯一,不可变,采用数据同步 + 消息队列同步。
针对能够重复购买的,采用数据同步即可。
【支付】
处理支付回调结果,需要判断防止同一个订单处理多次回调。
【消费】
在处理支付回调的时候需要判断订单号,注意不要重复处理。
设计步骤 4 - 异常处理
可以采取一定客服补偿机制,比如说支付失败之后,客服赠送一定数量的优惠券。
如果是系统大规模宕机造成的问题,可以让系统发补偿礼物。
评论