Question

A Load Balancing Thing?

Hi everyone,

I hope that someone could show me the right direction to do this, I’m planning to run a new WebApp with sessions, user files, etc.

For that I’m planning to have one droplet on NYC, another one on Amsterdam and at Singapore. I want my users and visitors to be directed to the nearest VPS, and if a user makes a change on his account, update the data on all the VPS.

I’ve read some articles about load balancing and it seems a good technique, but I need to redirect the users to the nearest VPS and not just balance the visitors flow.

Any help to show me the right path to take? Thank you!

P.D: We’ll be using NGINX and NodeJS


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

I’m in the middle of working on the same thing. It can actually get quite complex depending on what all you’re trying to do.

I started out with a plan to do DNS round-robin to a ‘Gateway Layer’ of servers, which would then determine the GeoIP origin of the request and 301 Redirect the request to an appropriate load balancer, which would then route the request to any of the app servers (with sticky sessions).

You can see more detail in this Stack Overflow question: http://stackoverflow.com/questions/25678049/how-to-setup-global-load-balancing-using-digital-ocean-dns-and-nginx

I’ve since pretty much abandoned that approach when I discovered that AWS Route53 offers a few options for DNS routing that will send the request to a close IP based on whichever ‘routing policy’ you choose. You can see more info here: http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html

Now I’m trying to figure out how to use Route53 or CloudFront for SSL termination which would essentially turn Route53 into my load-balancing layer.

Thank you @Andrew! Much appreciated!

We have a number of tutorials that should help point you in the right direction: <br> <br><a href=“https://www.digitalocean.com/community/articles/how-to-set-up-nginx-load-balancing”>An intro to using nginx as a load balancer</a>. <br> <br>Assuming you are using Mysql as your database, you’ll want to look into <a href=“https://www.digitalocean.com/community/articles/how-to-set-up-mysql-master-master-replication”>setting up Mysql master to master replication</a>. <br> <br>Though, redirecting to the nearest server from your load balancer sometimes might not be the best option. You’ll still have a single server a user will have to hit first. So there is a bit of a bottleneck. You might want to look into an Anycast DNS provider. That way, the redirection happens much sooner. CDN services like Cloudflare offer it.