Tudo é possível com a tecnologia e o orçamento certos. Para ter uma ideia do que precisa ser feito:
1: Se você usa algum tipo de RDBMS como o MySQL, você pode facilmente configurar a replicação Master-Master entre 2 ou mais servidores mysql, o que garantirá que todas as gravações cheguem a cada um dos outros servidores, cada uma com seu próprio ID de incremento. No entanto, os bancos de dados de alto tráfego sempre ficarão atrasados, dependendo do layout da rede e da distância entre cada servidor VPS.
2: A sincronização de arquivos é um pouco mais difícil de fazer. O mais fácil pode ser ter scripts locais executando rsyncs a cada N minutos para manter todos os arquivos em sincronia. Se esses forem apenas VPS únicos e não um build dedicado em cada Datacenter, essa seria uma das maneiras mais fáceis.
3: O balanceamento de carga será difícil, pois são apenas VPS únicos. Você poderia fazer round robin DNS para cada ip VPS, mas não o mais eficiente quando um host está inativo. Você pode definir o TTL para baixo, mas alguns provedores não respeitam o DNS TTL.
Para dar um exemplo do que uma empresa constrói, isso seria:
1: MySQL executado em nós DRBD Primários / Secundários em cada Datacenter em sua própria máquina física / virtual. Em seguida, cada configuração de localização para replicação mestre / mestre. Fault Tolerant em cada Datacenter, mas ainda tem problema Lag descrito acima.
2: SAN dedicada para armazenar os arquivos globais que devem ser compartilhados com a Replicação 24x7. Não é barato por qualquer meio, mas o que as empresas fazem.
3: DNS Com um dispositivo de balanceamento de carga TTL ou BGP muito baixo. Mais caro, mas será capaz de fazer melhores algoritmos de balanceamento de carga - O usuário é colocado em uma região mais próxima, ou a região é evitada quando abaixada ou sobrecarregada.