本文是我拜读了Lamport爷的牛文章《Paxos Made Simple》后写一点理解 + 读后感
Paxos是一种对经典共识问题的算法,讲的就是在一个分布式系统中,几个节点如何在各种情况下,就一个变量的取值达成一致。因为分布式系统中,节点失效、宕机重启的情况时有发生。针对一个值如何达成一致确实是个不简单的问题。
首先讲一下Paxos的适用条件,Paxos适用于无“拜占庭将军问题”情况的系统,也就是说,它必须最终针对至少一个值达成至少一次共识
Paxos在Safety和Liveliness方面的目的:
Safety方面:
- 只有被提议过的值,才能被采纳
- 同时只能有一个值被采纳,且直到一个节点(或进程)真正采纳一个值之前,它是不知道究竟那个值是被采纳的。
Liveliness方面:
- 只要被提议的值被最终采纳就好