Hello everyone,
I’m about to start building a test load balanced Moodle deployment.
There
is some great official
Moodle documentation, and some of the forum posts here are very
insightful as well.
After reading through much
of that, I have
some
questions I’d like to ask
to check a few things
with you guys.
Firstly a session cache question. When using a cluster of front end Moodle web servers, is it advisable to always use a shared session cache? Is this the ‘done thing’? Certainly a shared session cache would make load balancing simpler. It would make the Moodle front end stateful, and the load balancer would not need to use persistence / session affinity / sticky sessions. Simple round robin load balancing would work great in this case.
Secondly a question about load balancing methods. Several forum posts on here mention using LVS/NAT for load balancing a cluster of Moodle front end web servers. Is anyone using or has tried using LVS/DR instead? I think that it should work perfectly, provided that the ARP problem is resolved on each web server as is required for any LVS/DR deployment. LVS/DR offers greater raw throughput than LVS/NAT, so it would be a very attractive solution for big Moodle deployments if it works.
One final question about how current and new Moodle clusters are actually being load balanced today. Are load balanced Moodle deployments still using LVS for the load balancing function, or is it more common to use a layer 7 full proxy solution like HAProxy these days?
Thank you for any advice or insight you can provide.