by Sean Mackrory
no comments
Its widely accepted that you should never design or implement your own cryptographic algorithms but
rather use well-tested, peer-reviewed libraries instead. The same can be said of distributed systems:
Making up your own protocols for coordinating a cluster will almost certainly result in frustration and
failure.
Architecting a distributed system is not a trivial problem; it is very prone to race conditions, deadlocks, and
inconsistency. Making cluster coordination fast and scalable is just as hard as making it reliable. Thats
where Apache ZooKeeper, a coordination service that gives you the tools you need to write correct
distributed applications, comes in handy.
With ZooKeeper, these difficult problems are solved once, allowing you to build your application without
trying to reinvent the wheel. ZooKeeper is already used by Apache HBase, HDFS, and other Apache
Hadoop projects to provide highly-available services and, in general, to make distributed programming
easier. In this blog post youll learn how you can use ZooKeeper to easily and safely implement important
features in your distributed software.
able to tolerate more failures, but you also may begin to have lower write throughput. (Apaches
documentation has a nice illustration of the performance characteristics of various ZooKeeper ensemble
sizes.)