写点什么

模块七作业

作者:峰宇时空
  • 2022 年 2 月 07 日
  • 本文字数:556 字

    阅读完需:约 2 分钟

模块七作业

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

一、背景

【业务背景】

王者荣耀里面的商城的异地多活架构。


【业务功能】

购买英雄、皮肤、道具等。


【关键业务约束】

1、登录用户才能购买;

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

3、用户买鲜花、改名卡之类的道具可以买多个。


二、异地多活架构设计

1、业务分级

商城涉及到的功能有商品展示、促销活动、登录、充值、购买、用户财产管理等。异地多活应该优先保证登录、用户财产管理两项功能。


2、数据分类

【登录】

1)用户 ID:全局唯一,不可变;

2)用户手机号:全局唯一,很少变;

3)Session ID:可重复生成,可丢失;

4)密码:可丢失。


【用户财产管理】

1)财产 ID:全局唯一,不可变;

2)用户余额:全局强一致性。


3、数据同步

【登录】

1)用户 ID:全局唯一,不可变,采用数据库同步 + 消息队列同步;

2)用户手机号:全局唯一,很少变,采用数据库同步 + 消息队列同步;

3)Session ID:可重复生成,可丢失,不同步,用户重新登录生成。


【用户财产管理】

1)财产 ID:全局唯一,不可变,采用数据库同步 + 消息队列同步;

2)用户余额:全局强一致性,采用数据库同步。


4、异常处理

1)登录服务异常怎么办?

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


2)微信钱包或者 QQ 钱包不能使用怎么办?

直接挂公告+发滚动动态公告:充值维护。


三、异地多活架构设计示意图


用户头像

峰宇时空

关注

还未添加个人签名 2019.03.19 加入

还未添加个人简介

评论

发布
暂无评论
模块七作业