模块 7(王者荣耀商城异地多活架构设计)
业务分析
王者荣耀商城的商品是虚拟产品,没有库存的概念,无需物流;
有些商品(如英雄和皮肤)一个账户只能买一个,不能重复购买,有些商品(如鲜花或改名卡)可以重复购买多个,下单之前先判断购买权限;
支付只能用户点券支付,要先用微信钱包或 qq 钱包冲值点券;
异地多活架构
业务分级
根据对用户的重要程度,需要异地架构业务有点券冲值、购买限购产品、购买非限购产品。
数据分类
数据同步
点卡余金额:充值时增加余额,支付时扣除余额
采用数据库加数据库同步+消息队列的方式
已购商品数量:支付成功后更新购买商品数量,对于限制数量商品要做到强一致,采用数据库同步;对于非限制数量商品,做到最终一致即可;
异常处理
购买数量未同步,用户重复购买,允许用户申请退款或将其赠送给好友。
充值未及时到账,容忍,让用户继续充值或者提醒用户耐心等待数据同步。
用户购买数据未同步到异地机房,用户看不到,等恢复了再看。
评论