We're considering updating our load balancing for our Moodle cluster. As is the custom, I would appreciate any recommendations, experiences or simply tell me what you use?
The OU uses the same load-balancers for everything. I don't know if they are any good, or worth what we pay for them (that's a Somebody Else's Problem) but from where I sit they seem to work. We use Citrix Netscalers, running on VMs.
We use haproxy, but as far as I know it's more for familiarity (and price) than any notion that it's the best thing for the job. That said, we've never had any real problems with it, and performance issues are always somewhere else.
I've used haproxy before just for testing and had a couple of issues.
Did you find anything more sophisticated than the 'round robin' style allocation? It would be nice to actually load-balance the web servers and we do occasionally have front ends 'going rogue'.
I had to set the timeout massively high (making it effectively pointless) so that long running Moodle tasks didn't get binned.
I haven't had much to do with configuring it, to be honest, but I think we're using the round robin style. We had it doing sticky sessions for a while but I never saw the point of that and it caused us some issues.
We are moving to a smarter set up but currently we have our F5s checking to see if the nodes are up by doing a curl of a html page and doing round robin with the nodes in the cluster.