《凤凰架构》读书笔记
2022-04-30 09:13:36 0 举报
AI智能生成
包含《凤凰结构》核心内容
作者其他创作
大纲/内容
2 远程服务
IPC进程间通信手段
管道
Semaphore
共享内存
本地Socket(更普遍)
RPC
表示数据/方法、传递数据
性能
序列化效率
信息密度
stub、skeleton
REST、RMM
4 分布式事务
XA架构
模型
本地资源管理器 RM
全局事务管理器 TM
JTA java实现
准备阶段
执行阶段
诸模式
2PC
问题:单点、性能、一致性
3PC
不一致风险甚至增加了
CAP
柔性事务BASE
可靠事件队列(最大努力交付)
RocketMQ的模式
TCC(Try-Confirm-Cancel)
具有隔离性
侵入式强
性能好
SAGA
下游不配合你try
6 分布式共识 paxos
分类
Basic paxos
活锁问题
Multi paxos
节点
提案节点 Proposer
决策节点 Acceptor
记录节点 Learner
2承诺1应答
Raft
选主
复制
安全
8 流量治理
容错策略
故障转移
快速失败
沉默失败
故障恢复
并行调用
广播调用
设计模式
断路器
舱壁隔离
重试模式
流量控制
指标
TPS
HPS*
QPS
报文大小
设计
固定/滑动窗口
漏桶
FIFO队列实现
令牌桶
不需要设置桶
1 架构演进
单体、分层
SOA
烟囱架构
微内核架构
事件驱动架构
微服务
更自由、面向实践
容器化
服务网格
无服务,函数发布
3 本地事务
达成一致性
原子性
隔离性
持久性
持久性面临问题
数据写入磁盘这个操作并不是原子的
解决写入原子性问题
Commit Logging 先记录日志,再修改数据
缺陷:必须先提交事务后才修改数据
其他方案:Shadow Paging
解决性能问题,优化Commit Logging
Undo log
Redo log
ARIES理论
WAL
NO FORCE
STEAL
优化后的崩溃恢复
实现隔离
加锁方案
写锁
禁止事务加读锁,而不是禁止读
读锁
范围锁
ARIES隔离级别
串行化
可重复读
innoDB
读已提交
读未提交
MVCC无锁优化(读+写)
5 多级缓存
分级
客户端缓存
Cache-Control
etag、modify 304
压缩 gzip、并发请求
握手、慢启动问题
客户端维护FIFO连接复用
HTTP3 QUIC
CDN
push
pull 被动回源
负载均衡
网络层
IP隧道、套娃
NAT模式,修改ip目标到real server
SNAT模式:目标、源ID都改为v
应用层
服务端缓存
参数设计:吞吐量OPS、命中率、扩展、分布式or进程内
分布式缓存
复制式
集中式
目的
为缓解CPU
为缓解IO
风险
穿透
击穿
雪崩
污染
7 类库和服务
服务发现
CP
zookeeper
etcd
CP
AP
redis
DNS
如何确定CA
网关
ingress controll
Zuul 2
IO模型
负载均衡
集中式负载均衡
客户端负载均衡
代理式负载均衡
0 条评论
下一页