分布式系统一致性协议


文档摘要

分布式系统一致性协议 分布式系统中,多个节点需要达成一致以保持数据一致性。本文介绍CAP理论、Raft、Paxos等核心概念。 一、CAP理论 CAP三个特性 一致性:所有节点同时看到相同的数据 可用性:每次请求都能得到响应 分区容错性:系统在网络分区时仍能运行 CAP权衡 在分布式系统中,P是必须的,因此只能在CA和CP之间选择: CA:牺牲分区容错(单机系统) CP:牺牲可用性(保证一致性) AP:牺牲一致性(保证可用性) BASE理论 Basically Available:基本可用 Soft state:软状态 Eventually consistent:最终一致性 二、Raft协议 Raft角色 Leader:处理所有客户端请求 Follower:接收Leader的日志复制

分布式系统一致性协议

分布式系统中,多个节点需要达成一致以保持数据一致性。本文介绍CAP理论、Raft、Paxos等核心概念。

一、CAP理论

1. CAP三个特性

  • 一致性:所有节点同时看到相同的数据
  • 可用性:每次请求都能得到响应
  • 分区容错性:系统在网络分区时仍能运行

2. CAP权衡

在分布式系统中,P是必须的,因此只能在CA和CP之间选择:

  • CA:牺牲分区容错(单机系统)
  • CP:牺牲可用性(保证一致性)
  • AP:牺牲一致性(保证可用性)

3. BASE理论

  • Basically Available:基本可用
  • Soft state:软状态
  • Eventually consistent:最终一致性

二、Raft协议

1. Raft角色

  • Leader:处理所有客户端请求
  • Follower:接收Leader的日志复制
  • Candidate:选举期间的临时角色

2. 领导选举

3. 日志复制

三、Paxos协议

1. Paxos角色

  • Proposer:提出提案
  • Acceptor:接受提案
  • Learner:学习已选定的值

2. Paxos两阶段

阶段1:Prepare

阶段2:Accept

3. Paxos实现

四、分布式事务

1. 两阶段提交(2PC)

2. 三阶段提交(3PC)

增加CanCommit阶段,减少阻塞时间。

3. TCC(Try-Confirm-Cancel)

五、最终一致性

1. Gossip协议

2. Vector Clock

六、分布式锁

1. Redis分布式锁

2. ZooKeeper分布式锁

分布式系统一致性是复杂但必须掌握的主题,理解这些协议能设计更可靠的分布式系统。


发布者: 作者: 转发
评论区 (0)
U