Question

Correct process to spin up a load balancer from a single droplet

Posted February 11, 2020 245 views
Load Balancing

Hi, I am running a docker based Discourse droplet. I would like to create a redundant environment and I was thinking about load balancing. What eludes me is the process. I now have a production droplet that runs the website. Should I stop the droplet, make a backup and spin up a new one out of the backup? At that point, I assume I assign both the droplet at the load balancing. My question is, how are the droplets kept in sync ( database and codebase ). Do I need to manually sync them?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
2 answers

Hello,

Indeed spinning up a new Droplet from a backup sounds like a plan.

Regarding the database, I would recommend moving your Database to a separate Droplet or using DigitalOcean managed databases. That way your database would be external and your two Droplets would be connecting to the same database and you would not have to set up database replication. So it would be something like this:

Load balancing

Regarding the storage sync, you could do one of the following:

  • Lsyncd: For similar setups, I’ve been using lsyncd and it works pretty well, you can take a look at this tutorial here on how to do that:

https://www.digitalocean.com/community/tutorials/how-to-mirror-local-and-remote-directories-on-a-vps-with-lsyncd

One problem that I’ve had in the past is that if there are too many files to be synced, you might start hitting some Kernel limits which could cause unexpected behavior.

  • NFS: Another thing you could do is to use NFS and mount a shared directory on your second Droplet:

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-18-04

Regards,
Bobby

by Justin Ellingwood
While administrating web and application servers, there are many times when it is useful to mirror directories. The lsyncd service can mirror local and remote directories in order to propagate changes from one location to another. This guide will cover the basic usage of this tool.

Thanks @bobbyiliev , I had the impression this was a little harder than just dropping the droplets in the loadbalancer. I was expecting a little more of automation :)

Submit an Answer