4 ms·
VS and Paxos operate at different layers. For VS to provide its guarantees it needs to use true consensus for group membership. You could see it as a more featu
by jasonwatkinspdx 6y ago
VS and Paxos operate at different layers. For VS to provide its guarantees it needs to use true consensus for group membership. You could see it as a more feature expanded version of leases used to optimize away one of the phases of paxos in the common case.
- monocasa 6y agoThat's for sure one way to look at it, but I prefer to view VS as looking at the concept of consensus as a spectrum and providing tools in many interesting points on that spectrum. Yes, the question of "who gets to participate in the consensus protocol itself" is itself solved through total consensus in VS (and a total consensus protocol older than Paxos). But the way that is then used to bootstrap looser and more performant views of consensus as a first class concept I believe makes it still interesting to bring up in a discussion of consensus in general.
- jasonwatkinspdx 6y agoNot really. Atomic broadcast is equivalent to the consensus problem. VS itself can be turned into Paxos and vice versa via shuffling of details. All of the performance optimizations the VS sales literature pushes so hard are just as possible atop Paxos, and in fact are done now in practice. It's just a divide of concepts/terminology for the most part.
- monocasa 6y agoMaybe this is an example my ignorance on the subject. Can you point to off the shelf Paxos libraries that both have a focus on mixing strengths of consensus as a first class concept and have been used in extremely high availability circumstances?
- jasonwatkinspdx 6y agoBasically all of them support some sort of lease mechanism to avoid one of the protocol phases in the common case. Virtually all of them provide snapshot reads as a performance / convenience thing. It's common for systems to use paxos as the configuration/topology layer while fine grained updates flow through something akin to viewstamped replication. Examples would be Kafka, Amazon Aurora.