分布式理论核心概念总结
CAP 原则
1. CAP 定理概述
CAP 定理指出分布式系统中三个核心需求不可兼得:
- C (Consistency)(一致性):所有节点访问同一份最新数据副本
- A (Availability)(可用性):每次请求都能获取非错响应
- P (Partition tolerance)(分区容错性):系统在分区故障时仍能正常运行
2. 为什么 CAP 不可兼得
- 分布式系统必须保留 P(分区容错性)
- 在保证 P 的前提下:
- 选择 C 会阻塞请求直到数据同步,牺牲 A
- 选择 A 会立即响应但可能返回旧数据,牺牲 C
3. CAP 模型与应用
模型 | 特点 | 典型应用 |
---|---|---|
CA | 放弃分区容错性 | 集群数据库、xFS 文件系统 |
CP | 放弃可用性 | 分布式数据库、分布式锁 |
AP | 放弃强一致性 | Web缓存、DNS、Eureka |
注册中心示例:
- ZooKeeper:CP
- Eureka:AP
- Nacos:支持CP和AP
BASE 理论
核心思想
在无法达到强一致性时,采用折中方案实现最终一致性。
三个关键概念:
-
Basically Available(基本可用)
- 系统故障时仍能提供基本服务(可能响应变慢或功能降级)
-
Soft State(软状态)
- 允许系统存在中间状态(各节点数据副本可暂时不一致)
-
Eventual Consistency(最终一致性)
- 经过一定时间后,系统最终达到一致状态
- 时间取决于网络延迟、系统负载等因素
BASE 理论是对CAP中AP方案的延伸,通过牺牲强一致性来获得可用性