CHANNELS
 
 
 
 
 
 
 
 
ON THE WEB
 
 
 
 
PRINT EDITION
 
 
 
 
BZ MEDIA
 
 
 
 
 
 
 
 
print Printable version 
AS OF 1/9/2009 10:27AM EST
ZooKeeper services coordinator moves to Apache
Stories Columns Opinions Resources

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 coordinationZooKeeperApacheYahoo


Share this link: http://www.sdtimes.com/link/33011
 

Add comment


Name*
Email*  
Country     



  • Comment
  • Preview
Loading



 
 
 
 
 
 
 
 
 
 
SUBSCRIBE TODAY!
 E-Newsletters:
  News on Monday  More info
  SharePoint Tech Report  More info
 
 
 
PDF & PRINT EDITION

Download Current Issue!
ISSUE 1/15/2009 PDF

Need Back Issues?
DOWNLOAD HERE

Receive The Print Edition?
SUBSCRIBE HERE
 
REGISTER
 
GET NOTIFIED!
About all of the latest Resources
 
 
SD TIMES 100
It's time once again to
recognize the organizations
or individuals that have
demonstrated leadership in
their markets.