Why architecture matters here

ZooKeeper fails on wrong ensemble size + poor snapshot ops. Architecture matters because ZAB + znodes + watches all interact.

Advertisement

The architecture: every piece explained

The top strip is topology. Ensemble. Leader + followers. ZAB protocol. Client sessions.

The middle row is primitives. Znodes. Ephemeral / sequential. Watches. Use cases.

The lower rows are ops. vs etcd / Consul. Metrics. Ops — snapshot + logs + observability.

ZooKeeper — ensemble + znodes + watches + sessions + ZABdistributed coordination primitiveEnsembleodd number of serversLeader + followersone leader at a timeZAB protocolatomic broadcastClient sessionsheartbeat + timeoutZnodeshierarchical namespaceEphemeral / sequentialflagsWatchesone-shot notificationsUse casesconfig / discovery / leadervs etcd / Consuldifferent tradeoffsMetricssession + latency + backlogOps — snapshot + logs + observabilityhierarchyflagnotifyapplycomparewatchwatchoperateoperate
ZooKeeper ensemble + znodes + watches.
Advertisement

End-to-end flow

End-to-end: Kafka uses ZK for broker registration + controller election. Broker creates ephemeral znode with its address; watchers on that path see change on session expiry. Controller election uses sequential znodes; smallest sequence wins.