O problema que tenho é o seguinte: distribuí um aplicativo (3 nós espalhadores geograficamente), que, mediante solicitação, retorna grandes conjuntos de dados. Para reduzir o tráfego de rede, preciso direcionar a solicitação do cliente para a instância mais próxima do aplicativo distribuído. Estava pensando em várias opções, mas para cada uma delas tenho as dúvidas, as quais agradeceria a opinião de vocês:
Opção 1: Use DNS para resolver vários endereços IP. Por exemplo: - Se eu fizer uma chamada da máquina do Reino Unido para server.copmany.com - DNS para resolver isso no endereço IP do Reino Unido do sistema em questão. - Se eu fizer uma chamada da máquina dos EUA, para server.copmany.com - DNS para resolver isso no endereço IP dos EUA do sistema em questão.
Pergunta: É possível configurar o DNS para algo assim?
Opção 2: Use o balanceador de carga, que pode resolver o endereço IP para o servidor mais próximo.
Pergunta: Embora eu ache que isso seja possível, o que não posso pagar é a resposta para voltar via Load Balancer, mas diretamente para o sistema de chamada.
Opção 3: Você encontrou alguma outra solução para esse tipo de problema?
Obrigado, Mike
Responder1
Eu escolheria a opção nº 1.
Não sei qual servidor DNS você está usando, mas isso pode ser feito com BIND com suporte GeoIP e múltiplas visualizações para diferentes usuários de diferentes países. Pesquisando "BIND GeoIP" no Google você encontrará vários tutoriais sobre como configurá-lo.
Caso contrário, existem serviços de terceiros (palavras-chave: "dns gerenciado, geolocalização") que oferecem este serviço.
Responder2
Se for apenas HTTP, você poderá servir um 301 para o site apropriado, em vez de precisar fazer geo-DNS, o que provavelmente é mais simples.
Uma coisa que provavelmente não funcionará bem é o anycast, que embora possa parecer bom, não consegue (sem assistência significativa) lidar com casos em que um cliente alterna entre nós.
Responder3
Através de DNS
Eu sei com certeza que o Bind suporta visualizações porque já as usei antes. Outros servidores também podem. Com isso, você fornece qualquer informação de zona que desejar com base no endereço IP solicitante -http://www.zytrax.com/books/dns/ch7/view.html
Use DNS round-robin para resolver um dos três IPS. Isso não se importaria de onde veio o pedido, no entanto
Encontrei isso pesquisando no Google (http://www.dnsmadeeasy.com/services/global-traffic-director/) - Talvez você ache interessante