模块七作业
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 商品购买
用户在某一区服购买的商品,没有同步到异地机房怎么办?
等待系统完成同步。
评论