Consensus Algorithms Are Not Easy

Coming Up With Your Own Consensus Algorithm is clearly 2016's version of Rolling Your Own Crypto
The reasoning tends to include
  • I have a Better Way To Do Things (no. you don't)
  • It shouldn't be hard, therefore it isn't (why? and yes, it is)
  • What could possibly go wrong? (yup)
  • We're on AWS, so net-splits aren't a thing (oh yes they are)
  • Or outages (ha. ha. ha. ha. ha)
  • Who cares what the academics think, this is the real world (yikes)
  • We use redis for co-ordination (sigh)
  • Actually, redis-cluster (double sigh)
Next time you're faced with one of these, I recommend running away.
Mind you, if you can't run away, try asking some combination of
  • Is it proven?
  • Really? 
  • With Math? 
  • And peer-reviewed papers?
For extra credit, see if they redid Paxos / Raft, without the un-necessary parts (and then, run away)

Post a Comment

Popular posts from this blog

Erlang, Binaries, and Garbage Collection (Sigh)

Good News (!!!) from the world of TCP Congestion Control