This article is a bit hard for me to grasp the main ideas of because, given Cloudflare's requirements (e.g. no strong leaders), it immediately seems like they should be comparing to leaderless protocols like Paxos-class algorithms. Comparing to Raft and saying it's better because Meerkat is leaderless is confusing, because Raft is an adjustment to Paxos to specifically have strong leaders. So I'm 3/4 the way into the…
Cloudflare Meerkat - Globally distributed consensus
31–40 of 58 posts
Re: Cloudflare Meerkat - Globally distributed consensus
#32TBH I’m doubtful of most people building their own crypto libs and distributed consensus implementations. But maybe cloudflare can pull it off. Good to see them pushing the state of distributed consensus. Take aways: * it’s not in prod yet. I suspect those many round trips are going to get expensive on median aka typical redistributed deployments. Curious to see how it goes once in the wild. * they say it isn’t likel…
Re: Cloudflare Meerkat - Globally distributed consensus
#33Consensus is one of those areas where the interesting engineering and the number of people who actually need it are inversely correlated. Most "we need distributed coordination" turns out to be "we need one writer and a lock," which a single Postgres hands you for free: advisory locks, SELECT ... FOR UPDATE, SKIP LOCKED for work distribution. Linearizability without running Raft.. The real threshold is multi-region w…
Re: Cloudflare Meerkat - Globally distributed consensus
#34What's interesting here is that this would be the first production implementation of an asynchronous consensus algorithm (QuePaxa). Paxos, Raft, etc. are all partially synchronous, meaning they rely on timeouts and only make progress if message delay is sufficiently small compared to timeout durations. QuePaxa doesn't rely on timeouts and makes progress even under wild fluctuations in message delay. The question is w…
Re: Cloudflare Meerkat - Globally distributed consensus
#35Earlier quoted context omitted.
There’s a weird yet common attitude that nobody has to implement operating systems, databases, compilers, cryptography, consensus algorithms, etc because you should use off the shelf solutions. This is obviously true, and there are surely more web devs than, say, compiler engineers. But then the logic seems to go as far as to imply nobody does or should be doing these things. Where do they think the “off the shelf” s…
I predict we may be heading back to self implementations based off of papers since it is now cheaper to do so with AI coding agents. Yeah they kinda suck and make mistakes right now, but tech only gets better. It’s no different than 3D printing. Instead of cutting and joining a bunch of stock parts, you just print the desired part. In the same way printing with plastic kinda sucks, the tech will improve. Now you can…
Re: Cloudflare Meerkat - Globally distributed consensus
#36Re: Cloudflare Meerkat - Globally distributed consensus
#37Re: Cloudflare Meerkat - Globally distributed consensus
#38What's interesting here is that this would be the first production implementation of an asynchronous consensus algorithm (QuePaxa). Paxos, Raft, etc. are all partially synchronous, meaning they rely on timeouts and only make progress if message delay is sufficiently small compared to timeout durations. QuePaxa doesn't rely on timeouts and makes progress even under wild fluctuations in message delay. The question is w…
Wasn't there an impossibility proof for consensus without timeouts? At the boundary between a consensus failure and success, there must be a certain message that, if you delay it enough, causes a consensus failure, and that implies either you wait forever for that message (deadlock) or you eventually give up waiting (timeout).
Re: Cloudflare Meerkat - Globally distributed consensus
#39if youve ever fought a raft cluster on a bad network with leaders flapping, elections storming and latency spiking this genuinely doesnt seem that bad. i believe this will be very useful to those dealing with messy networks
Re: Cloudflare Meerkat - Globally distributed consensus
#40But this includes READ operations too! You have to get global consensus for every read! Most distributed systems have additional complexity and latency on write paths so that reads can be completely local. If you can accept slow read operations this seems like a great trade off, but I think that is going to relegate this to niece usage.