Netflix has taken the wraps off of its ZooKeeper library and has given some insight to coming open source projects as well. The company announced four projects in its pipeline, and a portal on GitHub for its projects.
What is Curator?
ZooKeeper is a “coordination service” for distributed applications, originally developed by Yahoo. The basic idea is that ZooKeeper is software to coordinate distributed processes, something that was usually done with one-off software that’s fragile, not actually a part of the core applications and usually disposed to errors. So, ZooKeeper is meant to be a solution that can be re-used for managing all kinds of distributed applications.
Problem being that using ZooKeeper itself may be more complicated and error-prone than some companies want to deal with.
Curator comprises a replacement client for ZooKeeper, a framework to simplify using ZooKeeper, tools for error handling, and several recipes built with the Curator framework. Curator also includes several utilities and extensions.
Curator adds a “pluggable retry mechanism” to ZooKeeper so that when something throws an error, there’s a set of policies that can be used when trying to retry an operation. It also provides connection state monitoring and instance management.
Curator is available immediately and is Apache 2.0 licensed.
More to Come
This is the first of (at least) four projects that Netflix plans to release. Jordan Zimmerman, the author of Curator and the post announcing it, says that Netflix will be releasing three tools for working with Cassandra. Astyanax is described as a client for Cassandra, CassJMeter for running Cassandra tests, and Priam. Zimmerman writes that Priam will handle centralized configuration management, backup/recovery and token management for Cassandra.
It’s also worth noting part of the post is a prominent solicitation to developers who also might want to work on open source projects for Netflix. Despite the company’s rough year, it looks like open source is doing pretty well at Netflix.