I have a RabbitMQ cluster with a Consul 3-node cluster as the service discovery backend. This is working great.
However, RabbitMQ’s consul plugin only lets you specify one endpoint (ie, node1 in my Consul 3-node cluster). So if that endpoint goes down, RabbitMQ isn’t able to failover to any other endpoints. (There’s a rabbitmq-server GitHub issue open for this limitation, but it hasn’t had any traction.)
I thought a possible workaround could be to put Haproxy in between RabbitMQ and Consul (round-robin, tcp mode), but RabbitMQ complains about a 404 (Consul responded to a health check with a 404 status, will wait and try re-registering
). I’m not sure if that’s because of user error or because it’s just not possible to do this with Consul. Is this proxying approach possible?
Thank you!