ZooKeeper: High-Performance Coordination for Distributed Systems

zookeeper justin magnotti n.w
1 / 17
Embed
Share

ZooKeeper is a distributed coordination service that prioritizes high availability and performance over consistency. Managed by Apache and initially developed by Yahoo!, it offers a hierarchical namespace, client-server architecture, and various API functions for implementing primitives like locks and barriers. Used by companies like Rackspace, Zynga, and Apache projects such as Hadoop and Kafka.

  • ZooKeeper
  • Distributed Systems
  • Apache
  • Coordination
  • Configuration Management

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. ZooKeeper Justin Magnotti 9/19/18

  2. What is ZooKeeper? Wait-free coordination for Internet-scale systems Favors high availability and high performance over consistency Managed by Apache, originally developed by Yahoo!

  3. Background/Motivation Most coordination systems serve a single purpose Create a flexible, simple, wait-free service Distributed coordination is difficult

  4. ZooKeeper Architecture Hierarchical Namespace consisting of nodes

  5. ZooKeeper Architecture Client-server Watches

  6. ZooKeeper Architecture Linearizable writes FIFO clients Non-specific primitives Read-extensive

  7. ZooKeeper Nodes Regular or Ephemeral Can be used to implement locking and other primitives Watches Helps with client caching

  8. ZooKeeper API create(path, data, flags) delete(path, version) exists(path, watch) getData(path, watch) setData(path, watch, version) getChildren(path, watch) sync(path) Asynchronous

  9. Primitive Examples Configuration Management Most common use Rendezvous Unknown configuration at startup Group Membership Ephemeral child nodes Locks Ephemeral nodes Double Barriers Start and End

  10. ZooKeeper Applications Commonly used as a configuration management service Rackspace Zynga Yahoo! Apache Hadoop MapReduce (Yarn) Apache HBase Apache Kafka

  11. ZooKeeper Applications

  12. ZooKeeper Service Implementation Request Processor Idempotent Atomic Broadcast Zab Replicated Database Snapshots Client-Server Fast Reads

  13. ZooKeeper Service Implementation

  14. ZooKeeper Evaluation Throughput

  15. ZooKeeper Evaluation Reliability

  16. Related Work Chubby Distributed lock management ISIS Replication and fault tolerance AFS Cache callbacks

  17. Conclusion High availability Fast reads Flexible

More Related Content