Curious when the folks at ClickHouse are going to decide to spin its custom rewrite of ZooKeeper in C++ (ClickHouse-Keeper [1]) out into its own separate project.
Funny, the committers were at an Amsterdam meetup last night and we were talking about ClickHouse Keeper. I don't think that's very high up the list of priorities for them right now. The focus is more on ensuring it is bombproof--we're in the "long tail" part of the deployment where you stamp out obscure edge cases in increasingly large deployments.
(I'm not a committer but have a lively interest in the topic as my company supports a couple hundred customers running on ClickHouse.)
Running ZK was pretty easy with Exhibitor (not that I’d recommend it over etcd) but it’s defunct now.
Otherwise manually managing it is crufty and ancient feeling. The API for “dynamic reconfiguration” is like something I’d expect from Oracle software in the 90s. It sucks.
My understanding is that they have different consistency models and different APIs. I think etcd might be better suited for more use-cases, but I don't think migration of existing systems is straightforward.
Not much they have pretty compatible feature overlap. Zookeeper pushes pretty heavily on a smart client rather than handling a lot of stuff server side. If I were to pick I'd go with etcd in a heartbeat. Every con they list on their comparison website is stuff I've personally dealt with in ZK.
Actually I was asking the question looking at the etcd doc you linked. The etcd doc explains like it is just better than Zookeeper.
Then why there are so many projects still rely on Zookeeper and spend so much time on re-writing its features instead of switching to etcd like what OP, ClickHouse (in the discussion), and Kafka (KRaft) are doing? It there something that etcd won't fit?
ClickHouse chose an API compatible rewrite because it allowed the project to banish issues like Zookeeper transaction ID rollover and eliminate an external dependency while allowing a gentle migration to the new "ClickHouse Keeper" implemention. Existing prod deployments of ClickHouse are mostly still on Zookeeper, though new deployments are beginning to use ClickHouse Keeper from the start.
Very few new projects use Zookeeper now. For older projects, most of them have no issue using Zookeeper, so it's simply not worth the time to rewrite them for etcd.
Firefox quarantines Facebook sites in a separate container (with its own cookies and browsing history, etc.), losing back button is an unfortunate side effect.
[1] https://clickhouse.com/docs/en/operations/clickhouse-keeper/