2 Replies - 3871 Views - Last Post: 21 January 2014 - 03:50 PM

#1 ArtificialSoldier  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 466
  • View blog
  • Posts: 1,697
  • Joined: 15-January 14

Globally load balanced applications

Posted 21 January 2014 - 02:38 PM

Does anyone have any experience setting up a hosted application on a globally load balanced platform? We have a web application which we host, we don't ship the code out. Right now we have several servers at a local data center with a decent connection, which has pretty much been fine for our needs, we don't really max out the throughput ever. Each server hosts between 1 and around 60 installations of the application, depending on customer size.

I'm starting some investigation on what would need to happen in order to get more of a global reach. Conceptually, when someone in China, for example, accesses our application then we would want their traffic routed to the fastest server for them, wherever that is (in the APAC region, presumably). I'm not sure if it would be preferable to use a single cloud instance for our application, or multiple servers in multiple data centers around the world. The major problem that I see is synchronizing the databases. We use MySQL as the DBMS. I'm aware of the MySQL Cluster, but I'm not sure how (or if) that would work for servers on completely different networks. The goal is that a user in the US and a user in China would each access the closest server to them, but that the information that each one gets from the database is the same. The US user might be looking up the records that the Chinese user is creating, so the databases would have to remain in sync. The files for the application do change but not all that often, although database records are constantly being added, updated, or removed. But we do need to mirror both the files and the database records across all instances of a particular installation.

What are the options for a hosted application that is distributed like that in order to make sure that all of them are basically using the same database information? A hosted service like Facebook might make a decent case study, but one major difference between our application and something like Facebook is that Facebook has a single instance. We might have a couple hundred installations for individual customers that we need to manage. Global load balancing may even be a feature that we could charge extra for if a particular customer requires it.

Is This A Good Question/Topic? 0
  • +

Replies To: Globally load balanced applications

#2 no2pencil  Icon User is offline

  • Admiral Fancy Pants
  • member icon

Reputation: 5379
  • View blog
  • Posts: 27,350
  • Joined: 10-May 07

Re: Globally load balanced applications

Posted 21 January 2014 - 02:44 PM

The term I am familiar with this practice is geo-locate. I've used Cloudflare for caching, & allowed them to serve based on location. However this is static images & html code, nothing dynamic. I would think that the overhead of updating mysql databases would reverse the saving of local database hosting (local to the client/viewer). Maybe it wouldn't hurt to at least speak with someone from Cloudflare to steal some key-words to help with your research for a solution. Maybe asking the right questions will yield their own in-house solution.

Sorry that I don't have more to share with you on this. It's certainly an area that I have interest in, but not the experience.
Was This Post Helpful? 0
  • +
  • -

#3 ArtificialSoldier  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 466
  • View blog
  • Posts: 1,697
  • Joined: 15-January 14

Re: Globally load balanced applications

Posted 21 January 2014 - 03:50 PM

Quote

I would think that the overhead of updating mysql databases would reverse the saving of local database hosting

That's what I'm thinking too, surely the cost of synchronizing the databases between China and the US (not to mention the error handling and acknowledgements associated with dropped connections during that process) would outweigh a lot of the gains that the local Chinese would see. I guess I understand how Facebook deals with the issue though - they're outright blocked in China. Boom, problem solved.

It just makes me wonder how a site like Alibaba does it. It would equally painful for me to try to connect to an Alibaba server in China as it would for a Chinese user to connect with a server outside of China, so surely they have both. They must have a tremendous amount of data to sync, so I wonder if it's feasible to do something like that without needing a dedicated fat pipe between the servers.

I'll post an update if I can find any reasonable solutions.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1