Skip to content

Instantly share code, notes, and snippets.

@jung-kim
Last active July 26, 2023 07:37
Show Gist options
  • Save jung-kim/8deeac8dbd2b586dbcd2 to your computer and use it in GitHub Desktop.
Save jung-kim/8deeac8dbd2b586dbcd2 to your computer and use it in GitHub Desktop.
ZK vs ETCD

ZK vs ETCD

Quick notes about implementation difference between ZK and ETCD not Paxos vs Raft

Zookeeper

PRO:

  • Industry battle tested, it is the most widely used concensus algorithm implementation
  • Ephemeral nodes, think global lock.
  • Stateful connection to ZK quorum (implies more tight and strong concensus)

CON:

  • Thick client, a system has to implement ZK client to use it. (more code to main tain and have to worry about each language specific impl.)
  • no rest API for control. (although I believe this is in works but can't find the link)

ETCD

PRO:

  • It's fast despite using http
  • Exposed REST API control. No client implementations needed
  • It's simpler. leader election is enforced not implied.

CON:

  • It's still yet to be matured, especially considering concensus algorithm have many surprising edge cases.
  • no ephemeral nodes. (etcd have something similar coming in v3 api)

####sources:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment