什么是分布式共识
共识 (distributed consensus) 是分布式系统中最基本的问题,用来保证一个分布式系统的可靠性以及容错能力。简单来说,分布式共识性是指多个服务器的保持状态一致。
共识问题通常形式化如下:一个或多个节点可以提议(propose) 某些值,而集群中的所有有效节点根据共识算法进行协商,最终决议(decides) 采纳某个节点的提议。
而共识算法必须满足以下性质:
- 达成一致(Uniform agreement) - 没有两个节点的决定不同。
- 完整性(Integrity) - 每个节点最多决议一次。
- 有效性(Validity) - 如果一个节点决定了值
v
,则v
由某个节点所提议。 - 终止(Termination) - 由所有未崩溃的节点来最终决议。
2024年5月7日大约 8 分钟