On 1/10/2016 12:00 PM, Robert Brown wrote:
> I'm thinking more about how the external load-balancer will know if a
> node is down, as to take it out the pool of active servers to even
> attempt sending a query to.
> 
> I could ping tho that just means the IP is alive.  I could configure the
> load-balancer to actually try a query, but this may be (even a tiny)
> performance hit.
> 
> Is there another recommended way of configuring external load-balancers
> to know when a node is not accepting queries?

For my setup with haproxy, I use the ping request handler as the load
balancer health check.  The ping handler is configured to utilize a
"*:*" query with rows=1.  One of the cores on each machine is an
aggregator core (with no index of its own), which contains the shards
parameter in solrconfig.xml.  That core is the one that gets used by the
load balancer.

I am not running SolrCloud, which is a little different than your setup.
 I am also not using replication -- my indexing processes are
responsible for updating multiple index copies in parallel.

As Erick said, I don't know that avoiding leaders for queries is all
that helpful.  In very recent versions, the amount of work that
SolrCloud leaders do when indexing is not very much different than the
amount of work that the other replicas do when indexing.

I'm guessing that with SolrCloud, you can simply use the ping request
handler on the collection (/solr/collection/admin/ping), but I have not
actually tried it.

Thanks,
Shawn

Reply via email to