[rabbitmq-discuss] method-like calls

Esteve Fernandez esteve at sindominio.net
Mon Aug 24 16:46:42 BST 2009


sorry for chiming in so late, last week we released our product (FluidDB)
after two years working on it.

> 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.

What we did with Thrift and AMQP is to map this scenario [1] using Twisted, a
framework for asynchronous programming. The basic idea around txAMQP and
txThrift is to use a Deferred (a future/promise-like structure) to define
asynchronous calls to Thrift, and use AMQP as a transport.

Thrift is cross-language, so if you have a mixed environment, is worth having
a look. You don't need to use its RPC mechanism, you can just use it for
serializing/deserializing your objects and embed them in a Basic.Content
message. However, you'll have to build your own RPC mechanism in that case.


1 - http://www.openamq.org/tutorial:soa

More information about the rabbitmq-discuss mailing list