写点什么

模块七作业 - 王者荣耀商城异地多活架构设计

作者:CH
  • 2022 年 2 月 17 日
  • 本文字数:511 字

    阅读完需:约 2 分钟

【背景】

假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下。

【作业要求】

1. 分析王者荣耀商城的业务特点,设计其异地多活架构;

2. 按照模块 7 第 5 课的方法来设计异地多活架构。

虚拟物品商城和实际物品商城的区别

1.没有库存概念,不需要考虑库存

2.不用运输,不需要考虑物流

业务分级

  • 王者荣耀商城的业务有:商品列表、商品展示、充值、消费、抽奖、兑换、奖励等

  • 核心业务:充值、消费

数据分类

充值

  1. 充值记录 全局唯一、强一致性、不可丢失、不可恢复

  2. 点券结余:强一致性、不可丢失、不可恢复

  3. 支付记录:支付依赖微信支付和 QQ 钱包,支付高可用不需要商城实现

消费

  1. 订单数据:全局唯一、强一致性、不可丢失、不可恢复

  2. 用户拥有的物品:最终一致性、可丢失、可恢复

数据同步

  • 订单 id:每次新建,全局唯一,不修改,用算法生成,使用数据库同步

  • 点券结余:会修改,使用消息队列同步

  • 用户拥有的物品:有些可重复比如铭文,有些不可重复比如英雄、皮肤,会修改、使用消息队列同步

异常处理

  1. 微信支付挂了怎么办?

直接挂公告,暂时推荐使用 QQ 钱包支付;只能使用微信支付的用户,建议等微信支付恢复后再充值,恢复之后发通知

  1. 用户购买的物品未及时同步到异地机房,用户看不到物品到账怎么办?

等同步之后再看


用户头像

CH

关注

还未添加个人签名 2019.04.26 加入

还未添加个人简介

评论

发布
暂无评论
模块七作业-王者荣耀商城异地多活架构设计