- Tag
- Distributed computing
冗余副本的容错系统通常要求提供一种手段来保证相互独立的服务之间能够达成某种精确的一致。这个问题称为共识问题,最早由 Pease,Shostak 和 Lamport 提出[1]。共识算法用来保证分布式系统中冗余副本之间的一致,具体含义为:系统中多个成员(又称法定人数quorum)在某项决议(proposal)上达成(decide)一致。达成一致的决议不会发生改变,这样的决议称为系统的知识(knowledge)。一般来说,为了达成一致,共识算法要求系统中大多数(超过半数)成员同意后,决议才能被提交;从另一个角度讲,这个特性也允许系统中少数派失效时仍能正常完成提交,从而达到容错的目的(比如 5 副本的服务可以容忍 2 副本失效)。