Eu tenho um site que tem usuários de Hong Kong e da Austrália.
Infelizmente, como o servidor está localizado na Austrália, os usuários de Hong Kong vão sofrer problemas de latência. O tráfego tem que passar por EUA antes de viajar de volta para a Austrália.
Então eu configurei um servidor em Hong Kong também, e os usuários que usam o TLD .hk serão redirecionados para o servidor web de Hong Kong. Ele compartilha o mesmo servidor de banco de dados com o servidor australiano, mas devido ao cache agressivo de consultas SQL, o impacto no desempenho da latência de consultas SQL é insignificante.
Mas para usuários acostumados com o site de Hong Kong, mas que já viajaram para a Austrália, eles sofrem latência adicional porque vão para o site .hk, que redireciona para o servidor HK mesmo quando estão na Austrália. O site é direcionado a estudantes internacionais de Hong Kong, então esse é um assunto importante para mim.
Em vez de redirecionar os usuários para o servidor da Web mais próximo com base no TLD, como redirecionar os usuários com base em sua localização?
Atualmente estou usando nginx, postgres e Django. Digamos que eu saiba como estimar a localização dos usuários com base nos endereços IP dos usuários, qual é o próximo passo? Em que nível eu trabalharia? Que tópico devo ler?