Você tem vários problemas diferentes aqui que provavelmente seriam melhor servidos como perguntas separadas. A primeira é como você deve arquitetar sua estrutura de banco de dados multi-site. O segundo é como você encaminha usuários para seus servidores.
Para o problema do banco de dados, algo tão simples quanto replicação multimestre pode ser tudo o que você precisa. Não há uma resposta fácil para isso, pois há muitas variáveis que precisam ser consideradas. O volume de dados, os recursos do software do servidor de banco de dados, a confiabilidade da conexão entre os dois sites, a quantidade de dados que realmente precisam ser compartilhados entre sites, se os dados precisam ser sempre exatamente iguais ou, eventualmente, iguais. .
Para o segundo problema, um CDN pode não ser uma boa escolha se seus sites forem quase totalmente dinâmicos. Um CDN não é para 'entrega de imagem e vídeo', é principalmente para a entrega de conteúdo estático (imagem e vídeos sendo um subconjunto disso, qualquer página da web que não está sendo exibida dinamicamente, arquivos javascript, css arquivos, etc.) Muitos CDNs oferecem serviços que podem acelerar o conteúdo dinâmico, bem como através de vários truques, mas não é isso que você está procurando.
Estou ciente de duas maneiras principais que um CDN e grandes organizações podem lidar com uma situação como essa. A primeira é através do DNS, usando algum tipo de mecanismo para determinar qual endereço IP retornar a um cliente. Isso pode ser baseado nos endereços de IP do cliente, como procurar em um banco de dados de geolocalização ou outro mecanismo para determinar o que é melhor direcionar o cliente para.
A segunda maneira é usar anycast . A idéia aqui é que você anuncie exatamente os mesmos endereços IP de vários locais e conte com o roteamento padrão da Internet para chegar a um site próximo (próximo da rede, não da geografia).
Se você quiser minha opinião, escolha um local com conectividade decente para os locais que deseja veicular. Se você está servindo apenas pessoas no Reino Unido e na Nova Zelândia, por exemplo, um único local nos EUA pode ser bom o suficiente para ambos. Não sei o que seu aplicativo faz, mas se a diferença de alguns milissegundos causar um impacto significativo em seu usuário, talvez seja melhor repensar o design. Da minha mesa de trabalho em San Jose, CA, são menos de um quarto de segundo para a Nova Zelândia e a Austrália (< 250ms).