Thrift looks pretty good, but it does not seem to support one-way messages.<br>All are implemented as if they were using a server-client model, and we will<br>have some relationships that are one way (fire off a message and forget<br>
about it).<br><br>I was able to fake out Thrift by creating my own null protocol and transport, and<br>that would be ok, but it requires writing code for each platform, and if there is<br>a niftier way to do this I would like to know.<br>
<br>Thanks,<br><br>- Jim<br><br clear="all">Jim Irrer <a href="mailto:irrer@umich.edu">irrer@umich.edu</a> (734) 647-4409<br>University of Michigan Hospital Radiation Oncology<br>519 W. William St. Ann Arbor, MI 48103<br>
<br><br><div class="gmail_quote">On Tue, Aug 18, 2009 at 11:13 AM, Garrett Smith <span dir="ltr"><<a href="mailto:g@rre.tt">g@rre.tt</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Tue, Aug 18, 2009 at 9:10 AM, Michael Greene<<a href="mailto:michael.greene@gmail.com">michael.greene@gmail.com</a>> wrote:<br>
> We currently use Apache Thrift for this, and have had success with it over<br>
> the past year of use.<br>
<br>
</div>I'd second this.<br>
<br>
There is some release management overhead in using Thrift or Protobuf,<br>
so I'd also consider using JSON for the message payload. If your<br>
schema changes a lot and you don't have massive throughput<br>
requirements, I'd lean toward JSON just for its flexibility and solid<br>
language support.<br>
<br>
IIRC, we showed that JSON in Python was over 20x slower than Thrift at<br>
encoding/decoding for messages that were basically hash maps (~10<br>
fields, 512K total size). But unless your performance requirements are<br>
unusually demanding, I wouldn't worry too much about this.<br>
<font color="#888888"><br>
Garrett<br>
</font></blockquote></div><br>