Register service to consul cluster on OpenShift

We have a consul cluster containing 3 nodes on Openshift, a single route that forwards HTTP requests to a random node.
Our problem is that when we try to register a service or send a heartbeat the request gets forwarded to a single node therefore there is a chance that a heartbeat will arrive at a node that the service was not registered in.

So my question is are we doing something very wrong with the way we are using consul or there is any configuration used to sync between the nodes?