分布式一致性算法
Distributed Systems · 6 notes
- 3. Distributed Consensus Algorithmshistorical
1. What Are Distributed Consensus Algorithms - More precisely, they are consensus algorithms: making all nodes agree on something. 2. Why Consistency Problems Occur 2.1. Concurrent Client Requests - For example, in a Leader-Follower scenario: one Client, three Nodes A, B, and C. The Client asks A to write x as 1. If A considers x to be 1, then B and C must also consider the value to be 1.
- 3.1 Distributed Consensus Algorithm: Paxoshistorical
1. Basic Paxos 1.1. What Is Basic Paxos - Abbreviated as Paxos. - A distributed consensus algorithm invented by Lamport and the foundation of Raft and ZAB. 1.2. Basic Paxos Algorithm Process 1.2.1. Roles - client: request initiator; not important here. - proposer: proposal proposer, similar to a coordinator.
- 3.3 Distributed Consensus Algorithm: Rafthistorical
1. What Is Raft - A distributed consensus algorithm invented by Diego Ongaro. 2. Why Raft Is Needed - To solve the complexity of implementing Paxos. 3. Raft Algorithm Process 3.1. Roles - Leader - Follower - Candidate 3.2. Three Phases 3.2.1. Phase 1: Leader Election
- 3.4 Distributed Consensus Algorithm: Gossiphistorical
1. What Is Gossip - An algorithm proposed by Xerox for replicating data among multiple nodes in a distributed database. - Nodes continuously exchange information, and after a period of time all nodes in the cluster will know the complete information. 2. Why Gossip Is Needed 3. Gossip Algorithm Process - Each node periodically and randomly selects a connected node to spread messages.
- 3.5 Distributed Consistency Modelshistorical
1. What Are Distributed Consistency Models - Different consistency models solve consistency problems to different degrees. 2. Categories of Distributed Consistency Models 2.1. Strong Consistency - C in CAP.md - Also called linearizability. 2.2. Weak Consistency - Eventual consistency - Causal consistency - Read-your-writes consistency - Session consistency - Monotonic-read consistency - Monotonic-write consistency - Prefix-read consistency