Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Our website is growing and we get more and more customers all around the world. We use Nginx, PHP and MySQL Our servers are in UK, so it is fast in Europe, but the further we got away from servers - the slower the website becomes. (Call me captain obvious from now on).

So I am looking into ways of fixing that. We got a standart structure:

        [web-servers for dynamic content]           [CloudFlare CDN]
                       |                                    |
               [database-servers]             [web-servers for static content]

So we are caching our static content and the question if how to deliver the rest of the website fast world-wide.

I was thinking about 2 main solutions:

  1. having the same infrastructure in a number of different geographical locations and using some form of Geo-location DNS:

    [Country-1]            [Country-2]            [Country-3]
         |                      |                      |       
    [web-servers]         [web-servers]          [web-servers]
         \                      |                      /
                \               |                 /

Now the problem I see here how to keep MySQL replication up-to-date worldwide ? I believe that master master replication from Singapore to London would not be always be up-to date and the delay would of course cause problems for application.

  1. Using reverse proxies with private lines

    [Country-1]            [Country-2]            [Country-3]
         |                      |                      |       
    [Reverse Proxy]      [Reverse Proxy]         [Reverse Proxy]
         \                      |                      /
                \               |                 /

Here I was thinking about having like private lines from each country, and using reverse proxies to create sort of network of Highways to our servers, altho this looks more like science fiction already :)

Anyway, I am looking for some resources, or advises of how other accomplish it.

share|improve this question

closed as not constructive by Brent Pabst, mdpc, Ward, Magellan, Michael Hampton Nov 17 '12 at 22:52

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

This is a pretty standard conundrum, however architecture and solution questions are pretty much off-topic on ServerFault. It seems like you know what solutions are available but really need help on active MySQL replication. Maybe you should re-phrase your question specifically around that question. – Brent Pabst Nov 16 '12 at 14:03
hmz .. Ok :) I will give it a go – Katafalkas Nov 16 '12 at 15:30