8/11/2019 ZooKeeper Finished
1/16
P. Hunt, M Konar, F. Junqueira, B. Reed
Presented by avid Steinfor ECE598YL SP12
8/11/2019 ZooKeeper Finished
2/16
Versatile distributed coordination system Simple primitives
Application developers use API to implementhigher-level coordination primitives
Wait-free non-blocking design
Strong ordering guarantees
Designed for read-intensive workload
8/11/2019 ZooKeeper Finished
3/16
Hierarchical, filesystem-like design znodes
Regular (persistent)
Ephemeral (session)
Supports sequential naming of nodes
Nodes contain values
Sessions
8/11/2019 ZooKeeper Finished
4/16
8/11/2019 ZooKeeper Finished
5/16
create(path, data, flags)
delete(path, version)
exists(path, watch)
getData(path, watch) setData(path, data, version)
getChildren(path, watch)
sync(path)
8/11/2019 ZooKeeper Finished
6/16
Linearizable writes FIFO client order
Liveness
Durability
8/11/2019 ZooKeeper Finished
7/16
Data is replicated on every server Reads are serviced immediately
Write requests are forwarded to the leader Transforms requests from client into idempotent
transaction records
Zabis used to push idempotent transaction recordsto the replicated database (stored with thefollowers)
Strong order guarantees (uses TCP)
8/11/2019 ZooKeeper Finished
8/16
8/11/2019 ZooKeeper Finished
9/16
Local replicas will never diverge But any point in time, some local servers may have
applied more transactions than others
Failure recovery Periodic snapshots are kept at each replica
Idempotent transaction records can be received inany order to rebuild the state
8/11/2019 ZooKeeper Finished
10/16
Configuration Management Rendezvous
Group Membership
Locks
8/11/2019 ZooKeeper Finished
11/16
Yahoo! Fetching Service Part of Yahoo! crawler for search engine
Uses ZooKeeper to manage configuration metadataand leader election.
Katta Yahoo! Message Broker
Publish-subscribe system
8/11/2019 ZooKeeper Finished
12/16
8/11/2019 ZooKeeper Finished
13/16
8/11/2019 ZooKeeper Finished
14/16
8/11/2019 ZooKeeper Finished
15/16
Chubby Boxwood
ISIS
Paxos Sinfonia
Dynamo
8/11/2019 ZooKeeper Finished
16/16