架构图
2019-12-20 13:51:23 0 举报
互联网面试常用 架构设计
作者其他创作
大纲/内容
RM 参与者 A
系统2
域名调
安卓/ios
9. 单点登录SSO
权限系统
优惠券系统
支付系统
库存系统
统一网关
数据库
1. 读缓存
2. 调用try
Agent服务A
仓储模块
积分模块
2. 新增积分记录
订单DB
系统1
调用回滚
TM 协调者
推荐系统
1. 开启事务2. 注册资源3. 提交事务
6. 分布式事务XA方案---3pc类似2pc,只是增加了延迟操作有轮询阶段准备阶段,等待超时,会自动提交
查看物流
2. 读完mysql写缓存
RPC
AgentAPI网关
1. 准备:RM写redo undo日志,锁定资源,不提交
查看发货
6. 分布式事务XA方案---2pc准备阶段,各个模块会等待阻塞,导致性能下降,每个参与者需要自己本地支持数据库事务
1. 准备:RM写redo undo日志,锁定资源,不提交
redis
binlog
2. 首次登录被重定向
5. mysql与redis数据一致性
http应用controller接口
操作
推送静态数据
页面 / 客户端 / h5
业务应用
发货表
服务A
搜索系统
RM 参与者 B
1. 首次访问
1. 启动事务
报价库存
4. 获得账户权限
2. 写数据库3.清缓存
定时任务,构建搜索条件到es
订单系统
4. confirm与cancel
新增发货
外部系统
2. 提交事务 释放资源
8. 基本的服务治理框架
推送动态数据
es库
消息队列
3. 慧通酒店库存系统设计https://blog.csdn.net/meituantech/article/details/80062333酒店库存: 第三方接口不稳定,保证系统可靠 不影响系统稳定性的前提下提升接口响应时间 面临的问题: 数据模型转换合一, 渠道的房型适配; 预定日期跨度较长; 落地渠道90天的房型房价库存售卖取消规则数据,供c端查询交易; 产品缓存和供应商数据一致性问题;供应商的接口性能差,稳定性差方案: 全量拉去;增量拉取;分段拉取;热门数据分析拉取; 主动推送
1. 询问RM是否正常
1. redis无数据读数据库
资源库存
用户系统
1. 高并发下订单积分库存数据一致性保证差错控制系统,定时轮询订单的状态,对于异常的状态进行,调用附属的服务模块进行回滚操作,一种简单的没有分布式事务的高并发,数据一致性方案
分布式存储
es/hbase库
数据库mysql
3. 提交或者回滚
对外网关: 携程 、艺龙、龙腾、捷旅、hrs、booking
生产token
通知
3. 提交事务 释放资源
1. 清缓存
AP 应用
22. 准备:RM写redo undo日志,锁定资源,不提交
4. 支付系统https://mp.weixin.qq.com/s?__biz=MzU5NTAzNjM0Mw==&mid=2247485641&idx=2&sn=65656f468b42c044f08b6888e8b79445&chksm=fe795911c90ed0078b7def99fb685ae7fbcfd3aab11ccfa13b2e83d7d0e6018117e98d013053&scene=21#wechat_redirect
1. 扣积分
用户
事务协调器
Https
注册
差错控制服务
定时任务
积分兑换表
2. 准备:RM写redo undo日志,锁定资源,不提交
7. 分布式事务TCC方案服务模块可以不支持本地数据库事务类似人肉回滚方式
写缓存服务
查看积分
第三方物流
企业门户
验证token有效性
Nginx
可靠消息差错控制系统
ETCD/consul
密码账号校验
2. 积分兑换系统
Agent服务B
多次发送
js的SDK
web应用
Http
回调通知
https
服务B
应用A
MQ
3. 带token登录
认证中心
积分表
应用B
同步数据
维护模块C
定时调用订单状态
0 条评论
下一页