Designing Concurrent Systems with Apache Zookeeper
Enable participants to build fault‑tolerant, highly available distributed applications using ZooKeeper fundamentals, Curator recipes, and proven concurrency design patterns.
Get Course Info
Audience: Developers, administrators, architects.
Duration: 3 days
Format: Lectures and hands‑on labs (50% lecture, 50% lab)
Overview
This course is unique in that it teaches the best practices and caveats of designing modern concurrent Big Data systems. ZooKeeper is an ideal tool to understand and practice the theory, and to reason about system performance, fault tolerance, and stability. ZooKeeper is the de‑facto standard for coordinating multiple components in distributed systems. In this class, we will learn ZooKeeper architecture, design, and implementation. Then we will go through the standard ZooKeeper design patterns and their implementation. In recent years, most of the design work with ZooKeeper is done through Curator. The curator makes the implementation of the design patterns – called recipes – much easier and more robust. We will work with Elections (such as Leader Latch and Leader Election), Locks, Barriers, and more. The course includes a balance of theory and lab work.
Objective
Enable participants to build fault‑tolerant, highly available distributed applications using ZooKeeper fundamentals, Curator recipes, and proven concurrency design patterns.
What You Will Learn
- ZooKeeper fundamentals
- ZooKeeper Java and C API
- Curator and Exhibitor
- Curator recipes: Elections, Locks, Barriers, Counters, Caches, Nodes, Queues
- ZooKeeper internals
Course Details
Audience: Developers, administrators, architects.
Duration: 3 days
Format: Lectures and hands‑on labs (50% lecture, 50% lab)
Experience and background in software development and administration
Setup: Amazon EC2 servers will be provided for installation, administration, and lab work • SSH client • Browser • Zero Install
Detailed Outline
- Distribute the coordination system
- Design goals and results
- Common coordination tasks
- Goals and capabilities
- Differences, pros, and cons
- Track and react to ZooKeeper changes
- Handling failures (network, apps)
- Concurrency issues
- Goals and design
- Installation and configuration
- Advantages and current trends
- Elections
- Locks
- Barriers
- Counters
- Caches
- Nodes
- Queues
- Centralized initialization
- Internals
- Administration
Ready to Get Started?
Contact us to learn more about this course and schedule your training.