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