- 在构建可靠的、高可用的系统过程时,分布式共识系统适合用来维护某个强一致的系统状态。
- CAP理论: Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),论述了一个分布式系统不可能同时满足以下三个要求:
(1)每个节点上所见数据是一致的。
(2)每个节点都可以访问数据。
(3)可以承受网络分区问题。
- BASE理论:基本可用、软状态、最终一致性(basically available、softstate、eventual consistency)。
- 系统设计师不能通过牺牲正确性来满足可靠性或者性能的要求,尤其是在处理关键数据时。
例如,假设某个系统处理财务交易:可靠性和性能在最终结果不正确的情况下一文不值。
- 很多分布式系统问题最后都归结为分布式共识问题的不同变种,包括领头人选举,小组成员信息,各种分布式锁和租约机制,可靠的分布式队列和消息传递,以及任何一种需要在多个进程中共同维护一致的关键状态的机制。所有这些问题都应该仅仅采用经过正式的正确性证明的分布式共识算法来解决,还要确保这个算法的实现经过了大量测试。任何一种临时解决这种问题的方法(例如心跳,以及谣言协议)在实践中都会遇到可靠性问题。
- Paxos概要:协议示例
Paxos 是基于提案(proposal)序列运行的