- Load balancing

In the past few weeks I have been working hard to add load-balancing support to the Meshcentral server. Mind you, itself is currently still running on a single computer, with double power-supply, mirrored hard drives, but still, it's a single computer and so, easy to code against. As other groups within Intel get interested in running their own version of Meshcentral, it's been important to upgrade the design and software to be able to run in a truly scalable way.

One of the key features of being hosted in big professorial environments is the presence of load-balancers that stand ahead of the servers and split the incoming connections evenly to the servers in the back. If your connections are completely stateless, this is not a problem at all, you handle the request, close the connection and move on. This is why I have been moving as fast as possible to web sockets lately, it allows for complex sessions while still being state-less across connections.

For older browsers that don't support web sockets, I have to hack the system to allow for some sessions state on one of the servers that would still work in the back of the load-balancers. The hack involved creating state on one server and having the other servers re-route HTTP calls that land on the wrong server to the correct one. Not real load-balancing but it will do until we can move entirely over to web sockets.

In general, I am very excited to be working on this project, it's just a load of fun.


For more complete information about compiler optimizations, see our Optimization Notice.