2020-04-28

Paxos什么都包含, 也什么都不是

Views: 12541 | Add Comments

初学 Paxos, 你会觉得 Paxos 非常高深隐晦, 接着会觉得没什么难的, 最后估计会觉得 Paxos 什么都不是, 就跟空气一样既是基础, 又不算什么.

你说写多数派或者全写, 这是谁都知道的道理, 不是 Paxos 独创.

你说读多数派, 显然这是错误的, 必须全读. 读多数派得出的结论, 和读全部节点得出的结论, 很可能是不同的, 甚至两次读不同的多数派也可能得出不同的结论, 所以不是一致性的.

所以, 要么全读, 要么"读修复 read-repair", 也就是在读的时候修复数据, 这就是 Paxos 所谓的 phase 2 - 产生新的共识. 读修复就是 Paxos 的基础.

这些读和写策略, 都不是 Paxos 独创, 可以算 Paxos 头上, 也可以不算. 你可以说我在用 Paxos, 也可以说我用的不是 Paxos. Paxos 非常强大, 又什么都不是.

你优化来优化去, 读的时候不修复(非一致性 quorum read), 或者先等一等别人修复(read index), 都丢失了 Paxos 的基础, 那还算 Paxos 吗?

Related posts:

  1. Paxos和Raft读优化 – Quorum Read 和 Read Index
  2. “一致性”是镜花水月
  3. Paxos 和 Raft 的结构差异
  4. Paxos 与分布式强一致性
  5. 为什么极少有开源的Paxos库?
Posted by ideawu at 2020-04-28 11:07:22 Tags:

Leave a Comment