[rabbitmq-discuss] RPC across Federation

Michael Klishin mklishin at gopivotal.com
Thu Jan 16 22:36:01 GMT 2014


On 17 Jan 2014, at 02:09, Josh West <jsw at one.com> wrote:

> The problem lies in when the rpc_client creates it's temporary callback queue.  There is a race condition in which the rpc_client may move on by then sending the fib(n) message, the rpc_server receives + calculates the Fibonacci number, and then sends a response to the rpc_client's callback queue specified in props.reply_to -- all before the Federation plugin has propagated the binding of the callback queue to the exchange and other federated exchanges.  Thus, the response message gets lost/dropped.
> 
> Has anybody else experienced an issue like this?  Does anybody have suggestions as to how to properly provide RPC functionality across federated exchanges?

Federation is built for WAN and is AP in CAP.

The only solution I can think of is using a fixed topology (long lived queues instead of dynamically created ones) for responses.
You then can use correlation_id to tell which request an incoming response is for.

MK

Software Engineer, Pivotal/RabbitMQ




More information about the rabbitmq-discuss mailing list