¿Es innecesario usar un equilibrador de carga con ElasticSearch?

Tengo un clúster de 3 nodos ElasticSearch que se ejecutan en AWS EC2. Estos nodos se configuran utilizando OpsWorks / Chef. Mi intención es diseñar este clúster para que sea muy resistente y elástico (los nodos pueden entrar y salir cuando sea necesario).

De todo lo que he leído sobre ElasticSearch, parece que nadie recomienda colocar un equilibrador de carga frente al clúster; en cambio, parece que la recomendación es hacer una de dos cosas:

Apunte a su cliente a la URL / IP de un nodo, deje que ES haga el equilibrio de carga por usted y espere que ese nodo nunca se caiga.

Codifique las URL / IP de TODOS sus nodos en su aplicación cliente y haga que la aplicación maneje la lógica de conmutación por error.

Mi experiencia es principalmente en granjas web donde es lógico crear un gran grupo de servidores web autónomos, lanzar un ELB frente a ellos y dejar que el equilibrador de carga decida qué nodos están vivos o muertos. ¿Por qué ES no parece admitir esta misma arquitectura?

Respuestas a la pregunta(3)

Su respuesta a la pregunta