写点什么

王者荣耀商城异地多活架构设计

用户头像
Sky
关注
发布于: 2021 年 11 月 05 日

王者荣耀商城有哪些数据?

1、点券:充值获取,强一致性

2、虚拟商品信息:无库存概念,全局统一

3、roleId:登录后不会变化,全局唯一

4、订单:只会新建不会修改。

5、roleID 关联的商品数据:很少修改。


相关数据如何同步?

1、点券:数据库同步。

2、虚拟商品信息:不同步,全局缓存。

3、roleId:不同步,重新登录获取。

4、订单:数据库同步

5、roleID 关联的其它用户数据按照区服同步(英雄、皮肤、等级、成就、铭文……):数据库同步


架构示意图:

整体架构类似上图,将对战服务器换为商城服务器对战结果更换为购买商品的消息同步,主主同步的数据为订单数据,订单数据只新建不更新,可以做主主同步。


异常处理:

当前机房宕机,点券数据未同步?

1、可以按当前的余额让用户进行购买。

2、若用户新增的点券未同步,可以容忍用户晚点等恢复了再购买。

3、若用户减少的点券未同步,可能会造成透支。

4、等恢复后发现透支时,提醒用户进行充值补偿或回收相应物品。

用户的商品数据未同步,用户重复购买商品?

1、允许用户重复购买,恢复后合并相应物品。

2、若用户提出申诉,给用户进行相应的回滚和补偿。


发布于: 2021 年 11 月 05 日阅读数: 7
用户头像

Sky

关注

还未添加个人签名 2020.08.17 加入

还未添加个人简介

评论

发布
暂无评论
王者荣耀商城异地多活架构设计