Skip to content

分布式系统知识体系总览


第1阶段 理论基础 → CAP、BASE、共识算法
第2阶段 分布式事务 → 2PC、TCC、Saga
第3阶段 服务发现 → 注册中心、AP/CP
第4阶段 熔断限流 → 限流算法、熔断器
分布式系统
┌───────────┬───────────┼───────────┐
▼ ▼ ▼ ▼
CAP/BASE 分布式事务 服务发现 熔断限流
│ │ │ │
• CAP理论 • 2PC • Nacos • 令牌桶
• BASE理论 • TCC • Eureka • 漏桶
• Raft • Saga • Consul • 熔断器
• Paxos • Seata • 健康检查 • 隔离
专题考察频率难度核心能力
CAP/BASE★★★★☆理论理解
分布式事务★★★★★方案设计
服务发现★★★★☆架构选型
熔断限流★★★★★流量控制

⚖️ CAP 与一致性理论

CAP 定理与 BASE 理论;强一致性 vs 最终一致性;Raft/Paxos 共识算法;分布式系统的时钟问题(向量时钟、Lamport 时钟)。

💳 分布式事务

2PC/3PC 协议;TCC(Try-Confirm-Cancel);Saga 模式;本地消息表;消息队列最终一致性;Seata 框架原理。

🔍 服务注册与发现

Eureka vs Nacos vs Consul;CP vs AP 的选择;心跳机制与健康检查;服务端发现 vs 客户端发现;DNS 轮询 vs 注册中心。

🛡️ 熔断、限流与降级

Hystrix vs Sentinel;令牌桶 vs 漏桶限流算法;熔断器状态机(CLOSED/OPEN/HALF-OPEN);服务降级策略;bulkhead(舱壁)隔离。


专题初级中级高级代表问题
CAP/一致性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐CAP 三者能同时满足吗?Raft 如何保证数据一致?
分布式事务⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐TCC 和 Saga 的区别?如何保证消息不丢失不重复?
服务发现⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐Nacos 和 Eureka 的区别?为什么选 AP 或 CP?
熔断限流⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐令牌桶和漏桶算法有什么区别?熔断器的状态机是怎样的?

单机系统 → 分布式系统,面临全新问题:
1. 网络不可靠
• 消息可能延迟、丢失、重复、乱序
• 无法区分"对方崩溃"和"网络分区"
2. 时钟不同步
• 不同机器的时钟有漂移,无法用时间戳判断事件先后
• 需要逻辑时钟(Lamport/向量时钟)或全局时序服务(TrueTime)
3. 部分失败(Partial Failure)
• 单机要么全部正常,要么宕机
• 分布式中某些节点失败,其他节点继续运行,需要处理各种中间状态
4. 一致性与性能的权衡
• 强一致性代价:同步等待多数派确认,增加延迟
• 弱一致性代价:用户可能看到不同版本的数据
这些挑战催生了 CAP 定理、共识算法、分布式事务等一系列理论和工程实践。

第1天 CAP 定理与 BASE 理论 → 理解 P 是必然的,CP vs AP 的选择场景
第2天 Raft 共识算法 → 理解 Leader 选举和日志复制,是 Etcd/TiDB 的基础
第3天 分布式事务方案 → 2PC 的问题是什么,TCC 和 Saga 如何解决
第4天 消息队列最终一致性 → 本地消息表 + 消息队列是生产最常用的方案
第5天 熔断限流 → 令牌桶/漏桶算法手写,熔断器状态机画出来