Skip to content
glerchundiPublic

About

a ZooKeeper service which seamlessly bridges all requests to etcd or consul.

Resources

Stars

172 stars

Watchers

12 watching

Forks

Latest commit

 

History

30 Commits

Folders and files

Repository files navigation

parkeeper Build Status Docker Repository on Quay.io

One service discovery backend to rule them all. The idea behind this was to seamlessly use tools and frameworks that heavily rely on zookeeper, for example, finagle, kafka, and keep/support/maintain just one key-value store. This could facilitate the migration to the nextgen service discovery/distributed configuration services like etcd or consul.

One of these two backends are available:

  • etcd
  • consul

Unsupported ZooKeeper features (ordered by priority):

  • Reliable zxid (X-Consul-Index & X-Etcd-Index)
  • Watches
  • Ephemeral Nodes
  • Sequence Nodes
  • ACLs
  • Auth
  • Process requests in batch (Multi)
  • Reliable Stats (?)

Listing of supported requests with some notes:

etcd consul
CREATE ✅ 1 ✅
DELETE ✅ ✅
EXISTS ✅ ✅
GETDATA ✅ ✅
SETDATA ✅ ✅
GETACL 🚧 🚧
SETACL 🚧 🚧
GETCHILDREN ✅ ✅
SYNC ✅ <sup23 ✅ 2
PING ✅ ✅
GETCHILDREN2 ✅ ✅
CHECK ✅ ✅
MULTI 🚧 🚧
CREATE2 ✅1 ✅
CLOSE ✅ ✅
SETAUTH 🚧 🚧
SETWATCHES 🚧 🚧

1 Unable to create a node with a key/path equal to an existing directory. (etcd will support this in v3 api: #1855)

2 There is no similar etcd/consul request. For now, it does not proceed.

Using parkeeper is as easy as this:

docker run -p 2181:2181 quay.io/glerchundi/parkeeper -backend-url etcd://127.0.0.1:4001
docker run -p 2181:2181 quay.io/glerchundi/parkeeper -backend-url consul://127.0.0.1:8500

This project is in its early stages, use at your own risk. And of course, any feedback is appreciated as well as issues!

About

a ZooKeeper service which seamlessly bridges all requests to etcd or consul.

Resources

Stars

172 stars

Watchers

12 watching

Forks

Releases

Packages

Contributors

Languages