Flavio Junqueira

Apache ZooKeeper and The Art of Building Distributed Systems

Date: This event took place live on September 17 2014

Presented by: Flavio Junqueira

Duration: Approximately 60 minutes.

Questions? Please send email to


Watch the webcast recording

Implementing distributed systems can be hard. Servers crash, become slow, and get partititioned away. These are all events that can happen in a real setting and your distributed system needs to be ready to deal with them.

Apache ZooKeeper has been developed to deal with such problems. It is a replicated in-memory system that stores small files called znodes in a hierarchical manner. The ordering guarantees operations over znodes and the notification scheme it provides enables the implementation of a number of commonly used recipes, like master election, group membership, locks, barriers, etc. Without a component like ZooKeeper, implementing such recipes from scratch can be a significant burden because they require sophisticated algorithms with many corner cases that are easy to overlook. ZooKeeper, however, does not make the promise of completely hiding all the problems of a distributed system, but instead to simplify the task.

In this webcast we'll cover:

  • Some basic concepts of ZooKeeper
  • Design choices, and caveats
  • Examples of recipes one can implement with the ZooKeeper API
  • Elaborate on the potential problems with naïve recipes
  • Discuss ways around such problems

About Flavio Junqueira

Flavio Junqueira is a member of the research staff at Microsoft Research in Cambridge, UK. He holds a PhD degree in Computer Science from the University of California, San Diego. He is interested in various aspects of distributed systems, including distributed algorithms, concurrency, and scalability. He is an active contributor of Apache projects, such as Apache ZooKeeper (PMC chair and committer) and Apache BookKeeper (committer). @fpjunqueira

You may also be interested in:

Strata Conference + Hadoop World