On Aug 12, 2009, at 12:09 AM, Rob S. wrote:

Hi everyone,

Just recently learned of Thrift while reading about NoSQL (I can't recall the connection either, don't ask ;) I've already made some trivial updates to the Wiki as I come up to speed.

HBase-Thrift gateway, perhaps?


So far we've experimented with Java, C++ and Python communication and it's been a relatively smooth ride.

What we like:
- Simple, straightforward IDL (and Mark's tutorial in IDL form was a great idea). - Copious amounts of generated code (e.g. skeleton C++ server, Python-remote client).

What we're wondering about:
- Am I correct that you're permitted one service per socket? It seems like you'd have to strike a balance between a single massive service and having several ports open. Something about this doesn't pass the sniff test for me. Are people really just defining one massive service definition?
This is true - one service per socket. Typically, my services don't get that big, and generally I'm not trying to cram more than one service into a single interface. On occasion, I have used multiple ports per server process to export multiple interfaces. Note that Thrift is not meant to be something like XML-RPC where you can host multiple services and provide discovery, etc - it's purpose built to handle a single type of client-server communication.

- Is there a plan to transfer comments to the generated interfaces? I have to keep peeking back at the IDL comments to see what exactly it is I should be returning (or expecting). There's certainly an argument here for clear method naming although I think you get my point :)

At least in the Java and Ruby generators, if you comment an object with /** */ (so-called javadoc comments), they will get transferred to the generated code.

-Bryan

Reply via email to