当前位置:网站首页>如何设计业务异地多活架构 - 作业
如何设计业务异地多活架构 - 作业
2022-07-20 19:54:00 【InfoQ】
作业要求:
1. 分析王者荣耀商城的业务特点,设计其异地多活架构;
2. 按照模块7第5课的方法来设计异地多活架构。
提示:
1. 王者荣耀的商城是虚拟物品商城,和淘宝这种实物电商有两个很大的区别,注意识别出来;
2. 用户要先调用微信钱包或者QQ钱包充值点券,然后在商城里面用点券支付;
3. 用户买英雄和皮肤的时候同样的英雄和皮肤只能买1个,不能重复购买;
4. 用户买鲜花、改名卡之类的道具可以买多个;
5. 分析步骤参考模块7第6课的案例。
数据分级
王者荣耀的商城是虚拟物品商城, 和淘宝这种实物电商有两个很大的区别:
- 虚拟物品不涉及到发货流程,没有物流信息,下单之后直接到账
- 虚拟物品不涉及到库存, 只要用户下达,自动生成虚拟商品,直接到账
数据分级分析
核心数据
- 账户: 调用微信QQ授权登录 > 获得RoleID
- 点券:调用钱包充值 > 增加点券
- 英雄、皮肤:使用点券购买英雄、皮肤 > 英雄、皮肤到账
- 鲜花、道具:使用点券购买鲜花、道具 > 鲜花、道具到账
数据分类

数据同步
账户RoleID


同时支持两种数据复制通道:
- RoleID 从IDC-A 数据库 同步数据到IDC-B 数据库 (数据库主从同步)
- RoleID 的新增和更新会产生消息发布到消息队列中,IDC-B来消费消息,然后crud RoleID
点券
点券数据是要求强一致性,不允许丢失的。使用数据库来同步点券数据,如果数据库同步失败,采用异步消息通知,消费端不断重试修改的方式。

英雄、皮肤、鲜花、道具
这些都是区域性数据,购买的时候做好幂等就可以了
- 英雄皮肤
使用UID和HeroId来限制购买的幂等性
- 鲜花道具
不限制购买数量,下单就增加道具数量
如果出现数据库宕机,导致数据没有同步成功,采用消息异步通知的方式,重试入库的方式。
边栏推荐
- Win11找不到gpedit.msc怎么办?Win11无法打开gpedit.msc解决教程
- 七大排序知识点
- Sword finger offer 57 And are two numbers of S
- VS2005 uses PDB plus source code to locate the code line where the crash occurs
- How to solve the problem that win11 excel file becomes a whiteboard icon?
- Microsoft launched Viva engage, a social application with a Facebook like interface
- 【LeetCode】二分查找题解汇总
- Seven sorting knowledge points
- Redis6.0 cluster setup
- Sword finger offer 12 Path in matrix
猜你喜欢
随机推荐
OSError: [WinError 1455] 页面文件太小,无法完成操作。
剑指 Offer 12. 矩阵中的路径
Reading club | get rid of the fog of psychological counseling: how should ordinary people treat psychological counseling
建立密切业务合作关系,供应商SRM系统助力企业做好新材料供应商品质管控
在node.js项目中安装配置mysql模块并进行增删改查
Win11 Excel文件变成白板图标怎么解决?
华为云:一切皆服务,共建全场景智慧金融
What happens when the self incrementing ID of the database is used up?
【LeetCode】每一轮都要把输入数组看一遍的二分
读书笔记(一)——《追风筝的人》
APR学习失败问题定位排查
分享一些 VsCode 各场景高级调试与使用技巧
响应式织梦模板家禽饲养类网站
(PC+WAP)织梦模板空气净化类网站
响应式织梦模板风扇外贸类网站
What if win11 C disk turns red? Cleaning method of win11 C disk turning red
日化用品行业数智化B2B系统简化分销流程,提升日化用品企业供应链竞争力
Express与中间件
VS2005利用pdb加源码定位崩溃所在代码行
node的path路径模块