What is the best practise to set up a router for multi-node elasticsearch for high availability?

Hello,

I have a multi-zone (2 zones), multi-node (3 data nodes, 1 tie-breaker node) elasticsearch set-up for high availability. And each node is set up as its own docker container. My doubts are :

  1. Since I have 3 data notes and I have 3 URLs I can access elasticsearh with how do I set up a stable URL so that even if a single node fails then the requests to the elasticsearch should be redirected to the other 2 nodes.
    Is there any preffered router that can be used for this purpose?

  2. Is it necessary that I set-up a load balancer for elasticsearch to redirect reuqests based on the cpu/memory usage of any particular zones/nodes. Or does the elasticsearch perform load balancing on its own even if I keep sending my requests to a single node?

  3. If a load balancer is necessary which load balancer do you suggest works best with elasticsearch?