基於讯息传递的一致性协定,只能保证资料的「最终一致性」,都无法处理「拜占庭将军问题(Byzantine Generals Problem)」
- 流言(Gossip)
从选定的种子节点开始,随机选择邻近的节点进行资料散播,接收到资料的节点重复这个步骤直至全域散播完成。
- 共识(Consensus)
- Paxos
分散式一致性协定的理论基础,每次交易都需要经过 Prepare 和 Accept 及多次节点间的资料传输,有较低的资料处里量能以及交易间「活锁(Livelock)」的问题。
- Multi-Paxos
将 Paxos 的交易简化为一阶段,提高了系统效能,是目前丛集管理、分散式资料库主要采用的分散式协定。
- Raft
透过确保丛集内的任意节点的状态转换一致性以及「领袖(Leader)选举」共识演算法对 Multi-Paxos 进行了简化。
- 分散式交易(Distributed Transactions)
「跨系统」的交易(Transaction)所造成的资料一致性问题,没有有效的完美解决方案,多阶段提交容易很大程度的提升系统复杂度。
- 二阶提交协定(Two Phase Commitment Protocol)
- 「协调者(Coordinator)」指挥所有「参与者(Participants)」***纪录交易操作(Undo、Redo)***并回覆"同意"或"终止"交易
- 「协调者」指挥所有「参与者」"提交(Commit)"或"回滚(Rollback)"
- 三阶提交协定(Three Phase Commitment Protocol)
- 「协调者」指挥所有「参与者」回覆"同意"或"终止"交易
- 「协调者」指挥所有「参与者」纪录交易操作(Undo、Redo)
- 「协调者」指挥所有「参与者」"提交(Commit)"或"回滚(Rollback)"