Hi, Any of the above :)
If you don't care about minimizing network hops during indexing/search, you can use a LB like HAProxy, NginX or some hardware product in front of your nodes for simplified logic in your application. However, the best practice these days is to provide your application with a list of Solr host names and initialize a Solr Client (e.g. for Java the CloudSolrClient) with several host names. The client will then reach out to one of these hosts and request the cluster state which lists all nodes, which of them are alive etc. And then the Solr Client will manage routing for you directly to the best node, and also fail over. If your programming language does not have a SolrClient that can do this then implement this in your own code or consider a LB. It is no longer recommended for applications to connect to Zookeeper directly to get the cluster state. Zookeeper should be protected and reachable only from the Solr nodes. Jan > 2. apr. 2025 kl. 11:38 skrev Andreas Mock <andreas.m...@drumedar.de>: > > Hi all, > > probably for all out there a stupid question, but I didn't find any hint in > the documentation. > > When I install a SolrCloud-Cluster with several nodes, how do you connect to > any of them to do the job? > Do you install some kind of proxy in front of the nodes? Or do you ask > zookeeper for an endpoint of a known node which is up? > Do you try to connect round robin (a timeout on a not-up node could last too > long)? > > What is the best practice for SolrCloud? > > Best regards > Andreas > >