王者荣耀商城异地多活架构设计
业务分级
按优先级可将业务分级为
王者荣耀的访问情况,登录>注册
商城的核心场景情况,对战>买道具
收入情况,道具购买,且就算短时间内无法购买,想买的用户恢复后也大概率会购买
综合考虑,在异地多活架构设计中,需要优先保障:登录、对战。
数据分类
点券余额:修改量大、强一致性、不可丢失
已购商品:数据新增、最终一致性、可丢失、自动通过订单恢复
充值订单、购买订单:强一致性、全局唯一、不可丢失
数据同步
点券余额:数据库同步
已购商品:重新生成
充值订单、购买订单:数据库同步、消息队列同步
异常处理
充值行为增加的点券余额出现不一致
人工同步和补偿
消费行为减少的点券余额出现不一致
容忍透支行为或回退透支购买
已购买商品出现不一致导致重复购买
故障恢复后回退第一笔之外的购买行为
评论