Hacker News new | ask | show | jobs
by platz 2776 days ago
Does anyone actually use raft these days
1 comments

Is there another distributed consensus algorithm that you think is more prominent? Paxos is on the decline. AFAIK Raft underlies most new distributed systems. Kubernetes for example relies on etcd which is a Raft implementation.
Ah, I didn't know Paxos was on the decline or that etcd uses raft
I wouldn't call Paxos on the decline. It has several nice properties that Raft lacks[1]. However, implementing it correctly is more brutal than Raft, which is cut into easier-to-understand components.

Also, the paper introducing Paxos[2] is famously obfuscated, while the Raft website[3] trivializes the problem, and has ready-to-use libraries.

As a result, there are more recently-developed systems in Raft than Paxos, but I expect there is more volume hitting Paxos systems than Raft ones in the world.

[1]: http://rystsov.info/2017/02/15/simple-consensus.html

[2]: https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf

[3]: https://raft.github.io/

As a member of a team that has implemented Raft in production (https://fauna.com) and in conversation with others who have, the general consensus is that Raft, Paxos, and even Viewstamped Replication are variants of the same fundamental algorithm.

There is an interesting paper about the commonalities in consensus here: https://arxiv.org/pdf/1309.5671.pdf

Thank you for sharing an interesting paper. The similarity between Raft and Viewstamped Replication is easy to gauge. The original Raft paper too acknowledges this similarity. OTOH, the similarity between Paxos and Raft is not very apparent (to me). The paper in the link seems to predate Raft, and only considers VR, Zab and multi-Paxos.
There’s Tendermint: https://tendermint.com/, which is gaining popularity in distributed systems projects. It’s Byzantine fault tolerant, unlike Raft and Paxos.
I had to get drunk after reading this.

No, Tendermint is not useful where Raft is. This is such a crass category error it makes me wonder what your actual skillset is.

Care to enlighten us without resorting to a personal attack Dave?
Raft is not designed for adversarial use; while it is fault-tolerant, it is not Byzantine fault tolerant. Raft (or Paxos et al) are better suited for wholly-owned distributed databases, where a BFT consensus algorithm like Tendermint would usually be inappropriate because of the overhead of cryptographic operations. If you think a large number of your nodes might get hacked, though, you may want a blockchain anyways :)
After you name a system that decided to switch from a Raft-based consensus implementation to Tendermint, sure.
> Paxos is on the decline

You really need to back up a claim like that with facts.

The Citus team recently created a Postgres extension implementing Paxos.

https://www.citusdata.com/blog/2016/04/13/masterless-distrib...