This is really interesting. I wonder if etcd can benefit from this as it uses Raft for consensus and split-brain can be a problem depending on how its setup (usually when a Kubernetes control plane is initialized).
Yeah, for real. etcd is one of the biggest limitations to Kubernetes in my opinion. I would love to have a region-agnostic Kubernetes cluster.
Cloudflare Meerkat - Globally distributed consensus
41–50 of 58 posts
Re: Cloudflare Meerkat - Globally distributed consensus
#42Earlier quoted context omitted.
> I’m doubtful of most people building their own crypto libs and distributed consensus implementations. But maybe cloudflare can pull it off. Who else than Cloudflare (or similar company in expertise and size) would be a better fit to implement distributed consensus?
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…
Re: Cloudflare Meerkat - Globally distributed consensus
#43Re: Cloudflare Meerkat - Globally distributed consensus
#44Re: Cloudflare Meerkat - Globally distributed consensus
#45Kind of a crap article that doesn't (1) link to the code (or to the golang implementation from the paper) and (2) doesn't even have the word "CAP" in it.
Re: Cloudflare Meerkat - Globally distributed consensus
#46This sounds like a very direct approach to linearizability - just put everything in a linear order. But 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 th…
Re: Cloudflare Meerkat - Globally distributed consensus
#47Earlier quoted context omitted.
Yeah, for real. etcd is one of the biggest limitations to Kubernetes in my opinion. I would love to have a region-agnostic Kubernetes cluster.
I think all big cloud providers replaced etcd with a custom in house implementation in their K8s offerings for this reason
This is incorrect.
AWS, Azure, GCP still use etcd in their customer kubernetes services.
"EKS Ultra Scale" uses an in-house Journal
Re: Cloudflare Meerkat - Globally distributed consensus
#48Consensus 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…
> Most "we need distributed coordination" turns out to be "we need one writer and a lock," which a single Postgres hands you for free 1. This article is about Cloudflare developing for their own internal control plane--I'm fairly certain their requirements preclude a single Postgres 2. Even if you're not Cloudflare, you may not want to be limited by the availability of a single Postgres instance.
True, but the article claims both strong consistency (sort of) and linearizability; that is basically a serializable writer and a lock; if I read correctly (I haven't read all the details), the article conflates both; afaik it is possible to have linearizability with eventual consistency; algorithms to solve concurrent writes and having multiple writers in raft is a "solved problem". sad to see such a spotty article on such important topic by a major company, even if the underlying paper is strong. This feels like manure.
Re: Cloudflare Meerkat - Globally distributed consensus
#49Earlier quoted context omitted.
> Most "we need distributed coordination" turns out to be "we need one writer and a lock," which a single Postgres hands you for free 1. This article is about Cloudflare developing for their own internal control plane--I'm fairly certain their requirements preclude a single Postgres 2. Even if you're not Cloudflare, you may not want to be limited by the availability of a single Postgres instance.
> This article is about Cloudflare developing for their own internal control plane--I'm fairly certain their requirements preclude a single Postgres. True, but the article claims both strong consistency (sort of) and linearizability; that is basically a serializable writer and a lock; if I read correctly (I haven't read all the details), the article conflates both; afaik it is possible to have linearizability with ev…
Re: Cloudflare Meerkat - Globally distributed consensus
#50Earlier quoted context omitted.
I think all big cloud providers replaced etcd with a custom in house implementation in their K8s offerings for this reason
> I think all big cloud providers replaced etcd with a custom in house implementation in their K8s offerings for this reason This is incorrect. AWS, Azure, GCP still use etcd in their customer kubernetes services. "EKS Ultra Scale" uses an in-house Journal
https://docs.cloud.google.com/kubernetes-engine/docs/concept...
https://cloud.google.com/blog/products/containers-kubernetes...