<div dir="ltr">Apologies if this has been answered somewhere already, but my searching isn't turning up anything.<div><br></div><div>I'm looking for advice on how to best move client traffic from one RabbitMQ cluster to another without service interruption. I suspect it can be done with HA-proxy, but I can't figure out the steps. I'm open to other ideas as well.</div>
<div><br></div><div>Scenario: We have a 2-node cluster with all queues mirrored. Let's say it's running RabbitMQ 3.2.2. Clients connect to this cluster through a VIP maintained by keepalived on both RabbitMQ hosts.</div>
<div><br></div><div>We now want to move to a different identical cluster, but running 3.3.1. I'm thinking I can bring up this new cluster "side-by-side" with the old cluster, such that they're running concurrently. All new connections would go to the new cluster, while already established connections to the 3.2.2 cluster will remain alive and working, until all clients have eventually connected to the new cluster. At that point the 3.2.2 cluster can be shut down.</div>
<div><br></div><div>I have a hunch I can put HA-proxy in front of both clusters, and though live configuration changes have it migrate the traffic to the new cluster while leaving existing cluster connections alone. What I don't know is the commands/configuration options/steps to implement it.</div>
<div><br></div><div>Thoughts and guidance on how to best do this?</div><div><br></div><div>Thanks,</div><div><br></div><div>Matt</div></div>