ZooKeeper services coordinator moves to Apache
Stories Columns Opinions Resources
RabbitMQ hops toward interoperability
The Advanced Message Queuing Protocol lets developers bypass proprietary message queues, a...
|
Zeichick's Take: Borland back in the frying pan
VMware is happy about taking in Tod Nielsen, but what about Borland, the company he is lea...
|
Ballmer announces Windows 7, Windows Server 2008 R2 betas
Microsoft CEO Steve Ballmer used the CES 2009 spotlight to announce the availability of be...
|
Intersoft readies Silverlight data source controls
Developers creating line-of-business applications will benefit from these three controls, ...
|
Short Takes: January 1, 2009
In this issue, the editors take a look at Bjarne Stroustrup and his ideas about computer e...
|
Windows & .NET Watch: Knocking off at 5 for a quiet weekend
Every IT worker and software development manager would love to enjoy their time off withou...
|
Integration Watch: Maven goes commercial
Sonatype, Jason van Zyl's company, has expanded its array of software and support products...
|
Windows & .NET Watch: Add to cart? Maybe not
For those setting up e-commerce websites, cart software looks like it would be a good way ...
|
Zeichick's Take: Remembering the ‘Rules of the Garage’
Hewlett-Packard has long been an inspirational company, not just because of its current pr...
|
Letters to the Editor: JavaFX for Eclipse?
A reader criticizes Sun for its inability to get JavaFX out there, while another clarifies...
|
From the Editors: Clouds in the rear-view mirror… and windshield
Cloud computing became extremely popular this past year, and for good reason, as it offers...
|
A year of peace
What a year! In the past 12 months, we’ve seen a lot of change – some good, some bad. The ...
|
Defining – and redefining – your app dev lifecycle
The waterfall is dead. A new generation of applications and architectures has
changed t...
|
Make your builds of STAR quality
As your company becomes more and more agile, the pressure’s going to grow on a natural bot...
|
Business intelligence is everywhere, the challenge is to see it clearly
Executives and managers love business intelligence. In our turbulent economic times, BI to...
|
From Mobile to SOA: A Guide for Optimized Application Deployment
Customer need has driven the emergence of multiple computing tiers. Today’s application d...
|
By Alex Handy
October 28, 2008 —
Two years ago, two Yahoo engineers began work on a project to create a service coordination program. The project was dubbed ZooKeeper, and as of Sunday, Oct. 26, it has reached version 3.0 and completed its transformation from a SourceForge project to an Apache Hadoop subproject.
The move to Apache meant shifting bug tracking, source code repositories and project wikis to a new system. As a result, Patrick Hunt, architect of search at Yahoo and project leader for ZooKeeper, said that many of the changes to version 3.0 weren't in the code but rather in the hosting.
That said, there are improvements to this service coordination package that will make life easier for developers who had previously used the projects watch feature.
But Hunt expects that the move to Apache will bring ZooKeeper new visibility and more openness. That should help, considering the project is a bit of a Swiss Army knife for service coordination needs.
“The whole idea was to provide a service for distributed coordination of services,” said Hunt. “At the highest level, ZooKeeeper is a high-performance coordination service for large services. We've seen people do that in an ad hoc way. They'll build some part of ZooKeeper themselves. A lot of times, people use event and message queues for this sort of thing, but we see developers have a hard time getting that right. There're also the locking type services, like Chubby from Google. That provides distributed locking. But what we've seen is [that] those are fairly low-level primitives, and people have some hard times implementing those services properly.”
Hunt said that ZooKeeper is good for coordinating, “group services, group membership and leadership election. One of the most common ones is leadership election. If you have some set of machines that are dynamically being managed, when you bring up the cluster for the very first time, they need to find each other; they have to elect one leader. In your client code on your nodes in the cluster, they would come up and attach to the ZooKeeper server. The way you interact with ZooKeeper is that it looks almost like a file system. There's a root node, then you can create nodes under that root node. You use that space to elect a leader.”
The underlying goal of ZooKeeper, said Hunt, “is to simplify your life. You don't have to worry about the service you use to determine who the leader is. ZooKeeper provides the basic primitives in a very simple way. The code for determining a leader is six lines … in ZooKeeper. It's significantly larger on the other side."
For version 3.0, setting watches on nodes and values has been made easier, said Hunt. Previously, watching values and triggering messages, actions or alerts were all performed globally. Now watches can trigger action in specific code or libraries rather than returning them to the main body of the application.
Mahadev Konar, senior software engineer at Yahoo and core contributor to ZooKeeper, said that distributed locking is another strong suit for ZooKeeper.
“You can use it for distributed locking and any kind of metadata coordination between distributed applications," said Konar. "Typically you use it where you have some large set of machines in a collocation environment. At Yahoo, we have huge back-end service systems that use it. We use it in our search environment and we use it in advertising."
Related Search Term(s): service coordination, ZooKeeper, Apache, Yahoo
Share this link: http://www.sdtimes.com/link/33011