王者荣耀商城异地多活架构设计
一、业务分级
核心业务:登录、充值(余额)、购买商品。
二、数据分类
登录:
通过 QQ 和微信账号授权登录,根据唯一的 ID 获取对应的区服,选择区服,获取当前 ID+区服下的数据
充值点券:
用户 ID 全局唯一 不可以变
用户余额 全局强一致性,确保不会出现余额不一致问题
充值记录 ID 通过算法生成,全局唯一
购买商品:
商品信息:每次新增,全局唯一,很少变,商品 ID 通过算法生成,全局唯一
购买商品订单:订单每次新建,订单 ID 全局唯一,算法生成,订单中商品 ID,用户 ID 不会修改
三、数据同步
登录:
RoleID 和对应区服关联,不会修改
充值点券:
用户余额全局强一致性采用数据库同步余额充值只能充到当前归属区服
购买商品:
商品无需库存,不需要做库存同步,可以把商品信息存储在缓存中
购买商品,根据商品的唯一性和通用性,采用数据库强一致同步
四、异常处理
登录:
如果 QQ 和微信无法授权,提示用户稍后重试
充值点券:
充值过程中系统宕机,根据充值结果让用户选择重新支付还是取消本次充值
购买商品:
购买过程中系统宕机,让用户重新购买即可
评论