[rabbitmq-discuss] Caching proxy for cloud HA

David Wragg david at rabbitmq.com
Tue May 25 22:51:40 BST 2010


Hi Jon,

Jon Brisbin <jon.brisbin at npcinternational.com> writes:
> Actually, HAProxy does just about everything I need so far, so I'm
> just using that to front a standard cluster.
>
> The HA I was thinking of would basically be a proxy pretending to be a
> single server. Incoming requests (client -> server) go out to all
> backend servers and responses (server -> client) go back to the client
> by using the first responder. The idea is that all backend servers are
> equal and no matter which one replies, that answer will be valid. It
> seems to me that any cloud or HA solution is going to involve a
> middle-man of some sort. No matter what service it is, something like
> HAProxy will have to be integrated into the platform to allow dynamic
> membership on the backend with a fixed front-end. 

What you describe doesn't seem feasible for AMQP, at least in
general.  Matthias mentioned a few reasons, but I expect it's possible
to come up with many more objections.

It might be possible to get further by making application-specific
assumptions.  For example, if you know that certain messages are part of
idempotent or cacheable request-response exchanges.  But once you start
making such assumptions, it's questionable what the result has to do
with AMQP.  Why not just use an application-specific protocol instead,
or HTTP, which explicitly covers issues such as cacheability and
idempotency?

David

-- 
David Wragg
Staff Engineer, RabbitMQ
SpringSource, a division of VMware



More information about the rabbitmq-discuss mailing list