Minimize deployment and have some HA question

We are trying to minimize server deployment. We will be running a 3 Node Consul cluster,together with our business services。

The deployment architecture is as follow:
consul1
In this deploment, we have a service call rabbmtMQ consumer service, which is in charge of reading message for MQ and call the others service(after calling consul for service address)

it has some issue like:
if the consul server in machine A is down, the mq consumer service will failed to call the other services in machine B or C.

So we are trying to find a better way to solve this problem, the first one is:
consul2
if we can deploy a consul client in one machine(that is , server and client in same host.), the client can find the other lived consul server, the problem will be solved.

The other way is that we deploy a LB like nginx, to achieve the same goal.

Any ideas on how to solved this problem?