Distributed Systems: Take Responsibility for Failover
ivolo.me
ivolo.me
For other languages, and in general, we are looking into ways to make the entire reconnect more transparent for cases both with and without intermediaries. Solving this at the protocol level and in the general case is non-trivial - you have to make some assumptions. Do please email the rabbitmq-discuss list if you want to talk about any of this.
This is architecturally similar to the mongodb/mongos solution described in the article.