写点什么

模块七作业

作者:张贺
  • 2023-02-22
    上海
  • 本文字数:457 字

    阅读完需:约 1 分钟

一、业务分级

业务功能包含:注册、登陆、充值和购买

由于登陆的访问量远远大于注册访问量,另外对于已经充值的客户,服务恢复后购买的概率也很高,因此选取登陆和充值做异地多活。


二、数据分类

登陆:

1. 依赖 QQ 和微信账号授权登录,本身无需登录信息;

2. 微信和 QQ 授权登录会返回给王者荣耀全局唯一 RoleID;

3. 王者荣耀只需要记录 RoleID 对应的区服信息,区服数据只会新增不会修改。


充值:

  1. RoleId: 登陆后就不会变了

  2. 点券余额:全局强一致性,不可丢失

  3. 充值订单 ID:每次充值后新建,不会修改,全局唯一


三、数据同步

登陆:

RoleID 和区服对应关系,只会新建不会修改,采用数据库同步即可。


充值:

1. 用户 RoleID:全局唯一,不可变,登陆场景已经包含用户 RoleId 的同步设计

  1. 点券余额:全局一致性,采用数据库同步余额

  2. 充值订单 ID:全局唯一,不可重复,每次新增 ,采用数据库同步+消息队列同步


四、异常处理

1. 微信和 QQ 挂了怎么办?

直接挂公告:系统停服维护。


  1. 点券余额未及时还没有同步到异地机房怎么办?

等待同步完成


  1. 订单数据未及时同步到异地机房怎么办?

等待同步完成


异地多活架构图:


用户头像

张贺

关注

还未添加个人签名 2018-11-03 加入

还未添加个人简介

评论

发布
暂无评论
模块七作业_张贺_InfoQ写作社区