Thoughts on load balancing in Nimrod Web Services
Note that this is different from WorkWays’ method of launching instances.
Currently, the Nimrod Web service has two parts:
- Rest API
At the moment, these two components are working properlly if they are placed in the same host, or in a shared file system environment, like Barrines. If they are in two separate hosts, file-related operations will not work.
To perform load-balancing, an approach I thought was to have the rest api to launch new instances as necessary. The problem of this approach is to have files transferring between hosts too many times.
Another approach is to bundle rest api and the XMLRPC server together, and create another small server performing those load balancing.
To start, the portal client connects to that load-balacing service. This service will re-direct the portal client requests to appropriate instance. Now the problem is to keep the databases in all spawned instances in sync with each other. Is NFS an answer ?