一致性

分布式系统学习笔记:一致性、CAP 与实践思考

记录分布式系统核心概念的学习笔记,以及在实践中的一些思考。 CAP 定理 分布式系统无法同时满足以下三个特性,只能三选二: 一致性(Consistency):所有节点在同一时间看到相同的数据。 可用性(Availability):每个请求都能收到响应,但不保证数据最新。 分区容错性(Partition tolerance):网络分区发生时系统仍能继续运行。 由于网络分区不可避免,实际系统通常在 CP 和 AP 之间做权衡。 一致性模型 强一致性:写入完成后,所有读操作都能读到最新值(如 Zookeeper、etcd)。 最终一致性:经过一段时间后,所有副本收敛到相同状态(如 DNS、对象存储)。 因果一致性:有因果关系的操作按序可见,无因果关系的操作可以并发。 常见共识算法 算法 特点 典型应用 Raft 易理解,领导者选举 + 日志复制 etcd、TiKV Paxos 理论完备,工程实现复杂 Chubby、OceanBase Gossip 去中心化、最终一致 Cassandra、Redis Cluster 实践思考 优先明确业务对一致性的真实需求,避免过度设计。 幂等设计是分布式接口的必修课。 完善的监控与链路追踪是排查分布式问题的前提。 小结 分布式系统的复杂度来源于网络、并发与故障,后续会继续记录 Raft 论文阅读与一致性协议的实践内容。