王者荣耀商城异地多活架构设计
一、 数据分类
RoleID 来自于微信和 QQ 授权登录,区服信息只会新增不会修改
商品数据分为英雄和皮肤一一绑定,商品鲜花、改名卡道具,道具数据,由于虚拟物品不存在库存和物流,只需记录虚拟物品类型、名称、价格即可。
微信/QQ 购买的充值点券的订单数据,只会新增,不会修改。
点卷支付产生的商品购买订单,同样只会新增,不会修改【虚拟物品不支持退货】。
二、数据同步
RoleID 通过数据库进行同步即可。
商品数据通过数据库进行同步或者消息队列即可。
购买点券的订单数据通过数据库同步即可。
商品购买订单数据通过数据库同步即可。
三、异常处理
微信或者 QQ 宕机?
直接发出停服公告
购买点券时钱已经付款,没同步到异地机房,怎么处理?
过一段时间【时间不会很长】,要不钱会自动回冲回去、要不会点券的值会自动更新
购买商品时,没同步到异地机房,怎么处理?
过一段时间,等系统自动回复,商品会自动添加到客户的信息中
四、架构实现
评论