[rabbitmq-discuss] Caching proxy for cloud HA

Matthias Radestock matthias at rabbitmq.com
Tue May 25 09:36:11 BST 2010


Jon Brisbin wrote:
> I'm thinking I can also proxy my RabbitMQ servers for HA as well.
> My proxies would be immediately responsive to changes in my cloud 
> services, so servers will drop off and join the cloud at unknown 
> intervals. I'm thinking I could have my RMQ clients connect to the HA
>  proxy, which load-balances requests to the configured back-end 
> servers.

The proxy would have to operate with sticky sessions, since AMQP is a 
connection/session-oriented protocol, but other than that this should work.

> I could easily introduce caching here because the proxy is
> transparent.

What would the proxy be caching? All AMQP operations carrying payloads 
are non-idempotent, which makes them unsuitable for caching.

> I could duplicate data coming in to multiple 
> back-end servers

Multi-casting doesn't make sense for most operations. The obvious 
exception is basic.publish.

What would you do with the responses from the multiple back-end servers? 
How would you deal with operations that return different results 
depending on the back-end server? Anonymous queue declaration is one 
such example. Also, some aspects of AMQP are inherently racy. For 
example, operations on different channels can be executed in any order. 
That too means servers can return different responses for the same 
series of requests.



More information about the rabbitmq-discuss mailing list