[rabbitmq-discuss] method-like calls
michael.greene at gmail.com
Thu Aug 20 22:55:11 BST 2009
If you're using Thrift with RabbitMQ, you don't need to use the
transport at all necessarily -- you can just use Thrift and its
protocols for serialization, and send the messages over AMQP queues.
That said, Thrift RPC does have a 'oneway' service method keyword.
This is used for asynchronous calls. You might want to look into
txAmqp and txThrift for some ideas if you really want to abstract all
of your calls into Thrift objects + AMQP messaging. Esteve has done
an excellent job with both tools.
On Thu, Aug 20, 2009 at 4:46 PM, Jim Irrer<irrer at umich.edu> wrote:
> Thrift looks pretty good, but it does not seem to support one-way messages.
> All are implemented as if they were using a server-client model, and we will
> have some relationships that are one way (fire off a message and forget
> about it).
> I was able to fake out Thrift by creating my own null protocol and
> transport, and
> that would be ok, but it requires writing code for each platform, and if
> there is
> a niftier way to do this I would like to know.
> - Jim
> Jim Irrer irrer at umich.edu (734) 647-4409
> University of Michigan Hospital Radiation Oncology
> 519 W. William St. Ann Arbor, MI 48103
> On Tue, Aug 18, 2009 at 11:13 AM, Garrett Smith <g at rre.tt> wrote:
>> On Tue, Aug 18, 2009 at 9:10 AM, Michael Greene<michael.greene at gmail.com>
>> > We currently use Apache Thrift for this, and have had success with it
>> > over
>> > the past year of use.
>> I'd second this.
>> There is some release management overhead in using Thrift or Protobuf,
>> so I'd also consider using JSON for the message payload. If your
>> schema changes a lot and you don't have massive throughput
>> requirements, I'd lean toward JSON just for its flexibility and solid
>> language support.
>> IIRC, we showed that JSON in Python was over 20x slower than Thrift at
>> encoding/decoding for messages that were basically hash maps (~10
>> fields, 512K total size). But unless your performance requirements are
>> unusually demanding, I wouldn't worry too much about this.
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
More information about the rabbitmq-discuss