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">&lt;<a href="mailto:g@rre.tt">g@rre.tt</a>&gt;</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&lt;<a href="mailto:michael.greene@gmail.com">michael.greene@gmail.com</a>&gt; wrote:<br>
&gt; We currently use Apache Thrift for this, and have had success with it over<br>
&gt; the past year of use.<br>
<br>
</div>I&#39;d second this.<br>
<br>
There is some release management overhead in using Thrift or Protobuf,<br>
so I&#39;d also consider using JSON for the message payload. If your<br>
schema changes a lot and you don&#39;t have massive throughput<br>
requirements, I&#39;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&#39;t worry too much about this.<br>
<font color="#888888"><br>
Garrett<br>
</font></blockquote></div><br>