Re: Why not Yahoo/Apache Zookeeper? Serialization format?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Nov 4, 2009, at 21:39 , Jeff Garzik wrote:
Yes, I think it departed too much from a desirable filesystem-like API. Using lock/unlock/trylock for ordered contention resolution, leader election, garbage collection, and similar tasks is a convenient model. CLD will probably be more Chubby-like than Zookeeper.

I haven't actually studied the Zookeeper API closely enough to be aware of these differences. I'll take a closer look.

My interest in Zookeeper is just that implementing replicated state machine protocols (eg. Paxos), is surprisingly tricky. Re-using a somewhat well tested implementation that has been deployed in production seems like it would save considerable time. Although I will be the first to admit that doing it yourself is a heck of a lot more fun.


b) Has there been any consideration for re-using an existing
serialization format (XDR, Thrift, Protocol Buffers, whatever)?
In what context should these be considered? We are certainly open to using open, documented protocols -- one big reason why Amazon S3 (HTTP REST) and NFSv4 were chosen as production examples for the tabled and nfs4d projects, respectively.

For network message serialization and deserialization. For example, CLD and chunkd both have have defined their own message structures. These could be expressed in some pseudo-standard serialization format. This (theoretically) makes it easier to write clients in other languages, as the serialization/deserialization would be automatic rather than needing to be re-implemented. This makes life somewhat easier when there are protocol changes. Some of these may provide other advantages, such as assisting with seamless upgrades.

Additionally, if Project Hail is successful, and people start building distributed systems on top of its components, it might be nice if it included some sort of "standard" protocol/message format, so that it is easier for service provided by X to interact with service provided by Y.


chunkd's protocol is custom because I'm not aware of a highly efficient binary network storage protocol that fits its niche.

Although the "message header" part could potentially be encoded using some sort of serialization tool.

Thanks for your insight!

Evan

--
Evan Jones
http://evanjones.ca/

--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Fedora Clound]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux