王者荣耀异地多活架构设计
业务分级
核心业务包括:
登录、商品、充值、购买、礼物,应优先保证登录、充值、购买。
登录:保证了后续流程的正常进行。
充值:游戏的收入来源。
购买:不能购买,将严重影响了用户的游戏体验,且有的商品为限时购买,错过将不能购买。
数据分类
登录:
1. RoleId 来源于微信与 QQ
2. RoleId 只会新增,不会修改
充值:
1. 用户充值后,增加充值记录
2. 新增后不会修改
购买:
1. 购买商品后,增加购买记录
2. 新增后不会修改
数据同步
登录:
1. RoleId 只新增,不修改,数据库同步即可。
充值:
1. 充值记录只新增,不修改,数据库同步即可。
2. 余额信息,全局一致性,采用数据库同步,只能在归属地充值。
购买:
1. 购买商品记录只新增,不修改,数据库同步即可。
异常同步
登录:
1. 微信与 QQ 服务中断。
等待服务恢复。
充值:
1. 充值服务中断,由于充值记录要保证强一直性,等待充值服务恢复。
2. 也可先充值再购买,记录临时事务,待服务恢复后,将充值与购买的事务进行同步。
购买:
1. 购买服务中断,为防止重复购买,等待购买服务恢复。
2. 也可先充值再购买,记录临时事务,待服务恢复后,将充值与购买的事务进行同步。
评论