写点什么

架构实战营模块七作业

作者:渐行渐远
  • 2021 年 12 月 23 日
  • 本文字数:565 字

    阅读完需:约 2 分钟

王者荣耀商城异地多活架构设计


【背景】

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

【作业要求】

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

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

【提示】

1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;

2. 用户要先调用微信钱包或者 QQ 钱包充值点券,然后在商城里面用点券支付;

3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买 1 个,不能重复购买;

4. 用户买鲜花、改名卡之类的道具可以买多个;

5. 分析步骤参考模块 7 第 6 课的案例。


业务分析

1.业务分级

王者荣耀访问: 登录>注册

商城的核心场景情况: 点券>皮肤>道具

收入情况: 点券充值>点券支付

综合考虑,在异地多活架构设计中,需要优先保障:登录、点券、皮肤、道具


2.数据分类

登录:全局唯一 RoleID

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

皮肤:同 RoleID 用户在区服唯一,强一致性。

道具:可重复,最终一致性要求


3. 数据同步

登录:RoleID 和区服对应关系只新增不修改。

点券余额:强一致性,不可丢失,数据库同步。

道具:绑定 RoleID 和区服,按区服数据同步。


4. 异常处理

① 登录异常:短期登录异常就用户重试,长时间登录异常出公告和告示,恢复正常后给予一定补偿

② 点券充值异常:客诉,人工修正数据,恢复余额,适当补偿


架构设计图



发布于: 3 小时前
用户头像

渐行渐远

关注

还未添加个人签名 2020.04.09 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块七作业