O Google faz isso usando uma tecnologia chamada "anycast". Eles usam o mesmo IP atribuído a várias máquinas que são colocadas em todo o mundo. Resumindo, o menos dispendioso de acordo com o sistema BGP e, geralmente, o caminho mais curto é usado.
Normalmente, vários caminhos para um IP são exportados quando o multihoming ... mais de um ISP entra em sua rede, portanto, há mais de uma maneira de chegar lá. Você pega o caminho mais barato / mais rápido. Com anycast, tudo acontece da mesma maneira, mas os caminhos diferentes levam a máquinas fisicamente diferentes em lugares distantes, em vez de apenas mais de um caminho para a mesma máquina. Para o usuário final, não importa, porque o conteúdo de qualquer um deles será o mesmo.
Como esse truque leva um ID do BGP e pelo menos um bloco / 24 no valor de endereços que você não poderá usar para mais nada, provavelmente não usará a solução deles. Você pode contratar isso para conteúdo estático através da Akamai Technologies e, provavelmente, várias outras empresas também. Não sei se algum provedor lidará com conteúdo dinâmico dessa maneira.
Você também pode usar um serviço como o GeoIP da MaxMind. Isso pode ser o melhor custo-benefício, mas você terá que fazer alguma codificação inicial para redirecionar seus usuários com base em verificações dos dados de IP. Note que eles oferecem um banco de dados gratuito, e para a direção no nível do país, isso é provavelmente bom o suficiente. A idéia do patch BIND de Disserman também pode funcionar muito bem, usando respostas de DNS para direcionar pessoas em vez de redirecionamentos. Isso pode ser confuso para alguns usuários muito técnicos ou ao depurar problemas estranhos nos quais hosts diferentes pensam que o mesmo nome aponta para lugares diferentes.