知识卡片
Paxos用位置共识绕开全局时钟
内容
多客户端并发写入多机时无全局时钟排序,Paxos找到替代思路:不争论谁先到达,而约定日志各位置的归属权由谁抢到——节点写入某位置前先询问是否已被占用,占了就争夺下一个位置。只要对”哪个提案占哪个位置”达成多数派共识,所有节点日志顺序必然相同。发散:用抽象序号共识替代物理时间戳共识,物理时间无法同步时更容易也更可靠。
参考来源
- 位置:第11章《多副本一致性》11.2.1节「Paxos解决什么问题」(源文件:_epub-src/text/part0056.html)
- 结论依据:原文明确提出'全世界对数字1、2、3……顺序的认知是一样的'这一朴素思想,Node在存放日志前先询问其他机器该位置是否已被占用,若被占则去下一个位置,这样即使各Node接收请求的物理时间不同,只要对每个位置的归属达成共识,日志顺序就必然相同,直接支持卡片论述。
- 原始内容:"全世界对数字1,2,3,4,5,……顺序的认知是一样的!……当Node1收到X=1的请求时,假设要把它存放到日志中1号位置,存放前先询问另外两台机器1号位置是否已经存放了……虽然每个Node接收到的请求顺序不同,但它们对于日志中1号位置、2号位置、3号位置的认知是一样的。"