写点什么

模块七作业

作者:bob
  • 2021 年 12 月 05 日
  • 本文字数:559 字

    阅读完需:约 2 分钟

1. 背景

假设现在决定要实现王者荣耀里面的商城的异地多活架构。

2. 业务分级

2.1 业务特点

由于是虚拟商品,不涉及物流和库存。

2.2 商城核心业务

登录、商品展示、商品上架、商品下架、充值、商品购买、订单。

2.3 异地多活保证业务

  • 登录:登录商城才能进行后续交易。

  • 商品展示:用户查看商品详情后才可以做出购买选择。

  • 商品购买:用户购买商品后才会带来效益。

3. 数据分类

3.1 登录

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

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

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

3.2 商品展示

商品 ID:全局唯一,不会修改。

3.3 商品购买

  • 订单 ID:每次新建,全局唯一,不会修改。

  • 点券余额:强一致性,不可丢失。

4. 数据同步

4.1 登录

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

4.2 商品展示

商品 ID:全局唯一性,采用数据库同步。

4.3 商品购买

订单 ID:只新建,不修改,全局唯一,数据库同步即可。

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

5. 异常处理

5.1 登录

  • 第三方服务异常无法登录怎么办?

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

5.2 商品展示

  • 商品在某一区服上架,没有及时同步到异地机房怎么办?

等待系统完成同步。

5.3 商品购买

  • 用户在某一区服购买的商品,没有同步到异地机房怎么办?

等待系统完成同步。

6. 异地多活架构示意图


用户头像

bob

关注

go get it 2020.07.06 加入

......

评论

发布
暂无评论
模块七作业