写点什么

架构实战营模块 7 作业

作者:热猫
  • 2022 年 6 月 02 日
  • 本文字数:483 字

    阅读完需:约 2 分钟

背景

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

【作业要求】

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

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

业务特性

  1. 虚拟商品不受库存影响;

  2. 虚拟商品不受物流影响,所以所有的商品购买后都即时到账户;

业务分类

  1. 商品:单次商品购买,多次商品购买;

  2. 点券:充值点券,退还点券;

这里充值和退还不是最关键业务,商品的购买才是关键业务;

数据分类

商品

  1. 高价值商品购买:强一致性,不可丢失;

  2. 单次商品购买:最终一致,不可丢失;

  3. 多次商品购买:最终一致,不可丢失;

点券

  1. 充值点券:强一致性,不可丢失;

  2. 退还点券:强一致性,不可丢失;

数据同步

  1. 强一致性,不可丢失:直接使用业务事务保证强一致性,将数据在一次事务内直接写入两个数据中心的数据库中;

  2. 最终一致,不可丢失:使用数据库同步方案,最终保证数据最终一致性;

异常处理

  1. 异常情况下,因为强一致性数据,无法完成业务事务,所以会全部失败;

  2. 但是可以保证余额是正常的,可以使用余额进行商品的购买;

  3. 对于数据中心失效时部分商品没有被同步至备份数据中心,可以通过对账日志进行商品的补还,并进行适当补偿;

用户头像

热猫

关注

还未添加个人签名 2018.02.06 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块 7 作业_热猫_InfoQ写作社区