0% found this document useful (0 votes)
44 views16 pages

P. Hunt, M Konar, F. Junqueira, B. Reed Presented by David Stein For ECE598YL SP 12

This document summarizes ZooKeeper, a distributed coordination system that uses simple primitives to provide higher-level coordination. It has a hierarchical, filesystem-like design with znodes that can be regular or ephemeral. It provides primitives like create, delete, exists, and getData. Writes are forwarded to a leader and replicated across servers for strong ordering guarantees and high availability. It is used by companies like Yahoo for configuration management, leader election, and as a publish-subscribe messaging system.

Uploaded by

marloper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views16 pages

P. Hunt, M Konar, F. Junqueira, B. Reed Presented by David Stein For ECE598YL SP 12

This document summarizes ZooKeeper, a distributed coordination system that uses simple primitives to provide higher-level coordination. It has a hierarchical, filesystem-like design with znodes that can be regular or ephemeral. It provides primitives like create, delete, exists, and getData. Writes are forwarded to a leader and replicated across servers for strong ordering guarantees and high availability. It is used by companies like Yahoo for configuration management, leader election, and as a publish-subscribe messaging system.

Uploaded by

marloper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
You are on page 1/ 16

P. Hunt, M Konar, F. Junqueira, B.

Reed

Presented by David Stein for ECE598YL SP12
Versatile distributed coordination system
Simple primitives
Application developers use API to implement
higher-level coordination primitives
Wait-free non-blocking design
Strong ordering guarantees
Designed for read-intensive workload

Hierarchical, filesystem-like design
znodes
Regular (persistent)
Ephemeral (session)
Supports sequential naming of nodes
Nodes contain values
Sessions

create(path, data, flags)
delete(path, version)
exists(path, watch)
getData(path, watch)
setData(path, data, version)
getChildren(path, watch)
sync(path)
Linearizable writes
FIFO client order
Liveness
Durability
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
Zab is used to push idempotent transaction records
to the replicated database (stored with the
followers)
Strong order guarantees (uses TCP)

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 in
any order to rebuild the state
Configuration Management
Rendezvous
Group Membership
Locks
Yahoo! Fetching Service
Part of Yahoo! crawler for search engine
Uses ZooKeeper to manage configuration metadata
and leader election.
Katta
Yahoo! Message Broker
Publish-subscribe system



Chubby
Boxwood
ISIS
Paxos
Sinfonia
Dynamo

You might also like