模块 7 作业
王者荣耀商城异地多活架构设计
设计步骤 1-业务分级
王者荣耀业务分级:登录、对战、商城,本文对王者荣耀商城业务进行异地多活架构设计。
设计步骤 2-数据分类
RoleID:登录后就不会变了,只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。
点券充值记录:用户要先调用微信钱包或者 QQ 钱包充值点券,充值点券需要和区服对应,充值记录只能新增。
点券消费记录:点券消费和特定区服对应,用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买。用户买鲜花、改名卡之类的道具可以买多个。消费记录只能新增。
点券实时余额:消费点券需要判断点券实时余额是否足够。
商城商品信息:都是虚拟物品,没有库存限制,不需要物流信息。
设计步骤 3-数据同步
RoleID:和区服对应关系,只会新建不会修改,数据库同步即可。
点券充值记录:和区服对应,只会新增,数据库同步。
点券消费记录:和区服对应,只会新增,数据库同步。
点券实时余额:和区服对应,会实时修改。通过数据库同步,限制当前区服的用户余额只能由当前区服的服务器程序修改,其他区服的服务器程序不允许修改。如果切到了异地机房,则只能由异地机房的服务器程序修改。
商城商品信息:和区服对应,数据库同步。
设计步骤 4-异常处理
1、登录过程中,第三方服务挂了怎么办?
挂公告停服。
2、充值过程中,第三方服务挂了怎么办?
暂停充值。
3、用户充值消费数据未同步到异地机房,用户看不到充值消费数据怎么办?
等恢复了再看。
评论