← Voltar ao blog

Alternativas ao GeoLite2: opções de API GeoIP hospedada

Alternativas ao GeoLite2: opções de API GeoIP hospedada

Uma alternativa ao GeoLite2 é qualquer outra fonte de dados de geolocalização por IP, e a principal escolha é entre operar você mesmo um banco de dados baixado e chamar uma API GeoIP hospedada. Nenhuma é universalmente melhor; a escolha certa depende de quanto trabalho operacional você quer assumir, de quais campos precisa e de quanto tráfego trata.

O que o GeoLite2 oferece e quanto custa operá-lo

O GeoLite2 é uma família de bancos de dados de IP gratuitos publicados pela MaxMind, distribuídos como arquivos baixáveis que você consulta localmente com uma biblioteca leitora. As consultas locais são extremamente rápidas e não adicionam ida e volta pela rede, o que é uma vantagem real em caminhos de alto volume e sensíveis à latência. Usá-lo, porém, traz obrigações fáceis de subestimar: você baixa os arquivos sob um contrato de licença com uma conta e uma chave de licença, precisa mantê-los atualizados em um cronograma e é responsável por enviar os arquivos a todos os ambientes que precisam deles.

É nessa última parte que está a maior parte do atrito. Contêineres precisam ter o banco embutido ou baixá-lo na inicialização. Ambientes serverless e de borda podem ter limites de tamanho ou de sistema de arquivos que tornam incômodo um arquivo de vários megabytes. Um arquivo desatualizado retorna respostas antigas silenciosamente, porque nada no aplicativo avisa que os dados têm meses. Verifique os termos de licença e os requisitos de atualização atuais diretamente com o fornecedor, pois eles podem mudar e são a fonte autoritativa.

Para um olhar mais profundo sobre a decisão, o post sobre bancos de dados auto-hospedados versus uma API compara os dois modelos com mais detalhes.

O que uma API hospedada muda

Com uma API hospedada, o provedor cuida de baixar, processar, atualizar e servir os dados, e você faz uma requisição HTTP por endereço. Isso elimina o ônus de implantação e significa que suas respostas são atualizadas quando os dados do provedor são. O custo é uma chamada de rede a cada consulta, uma dependência da disponibilidade de terceiros e um limite de taxa ou cota. Armazenar em cache os resultados de endereços repetidos suaviza a maior parte desses custos, e vale a pena colocar um timeout curto e um comportamento de contingência em torno da chamada, para que uma indisponibilidade degrade com elegância em vez de quebrar o cadastro.

Os serviços hospedados também tendem a agrupar mais do que localização. Se o seu objetivo real é decidir se deve confiar em uma requisição, país e cidade são apenas parte disso. A consulta de IP do ipto retorna country, city, asn, org e currency_code, além dos indicadores is_vpn, is_tor, is_abuser, is_datacenter e bogon com bogon_type. Os feeds de ameaças são atualizados a cada 6 horas e os conjuntos de dados de IP e ASN diariamente. O plano gratuito é de 1.000 requisições por dia sem cadastro. Ele não detecta proxies residenciais e, como toda fonte de geolocalização por IP, é preciso em nível de país e aproximado em nível de cidade.

Como comparar as opções de forma justa

  • Campos de que você realmente precisa. Se você só precisa de um código de país, quase qualquer fonte serve. Se precisa de ASN, organização, VPN ou sinais de abuso, verifique quais estão incluídos e com que frequência são atualizados.
  • Alegações de precisão. Seja cauteloso com qualquer porcentagem citada em material de marketing. A precisão depende da região, do tipo de endereço e da definição usada, e os resultados em nível de cidade diferem muito entre as fontes. Teste com uma amostra de endereços cuja localização real você conhece. O post sobre precisão de país versus cidade explica o motivo.
  • Cadência de atualização. Pergunte com que frequência os dados são reconstruídos e se você controla quando as mudanças chegam até você.
  • Latência e posicionamento. Um arquivo local não tem nenhuma; uma API depende da distância e do cache.
  • Licenciamento e tratamento de dados. Leia os termos sobre redistribuição, atribuição e o que acontece com os endereços que você envia.
  • Caminho de saída. Mantenha a consulta atrás de uma pequena interface sua, para poder trocar de fonte depois sem mexer no código de negócio.

Testando uma API hospedada com os seus próprios dados

A avaliação mais barata é pegar um dia de endereços reais dos seus logs e comparar as respostas do seu banco atual e de um ou dois candidatos. Você pode colar endereços individuais na consulta whois de IP para ver o registro por trás de um bloco, e usar a consulta de ASN para confirmar a qual rede pertence um endereço surpreendente. Para endereços que parecem errados, a consulta de empresa por IP fornece um palpite de organização com pontuação de confiança a partir de dados RDAP e ASN, o que muitas vezes explica uma localização estranha, como uma operadora móvel ou um gateway corporativo em outra cidade. A documentação da API cobre os endpoints para comparação automatizada.

Se quiser um panorama mais amplo, veja as melhores APIs gratuitas de geolocalização por IP. O resumo é que um banco de dados local vence em velocidade pura de consulta e uso offline, uma API hospedada vence em atualidade e esforço, e muitas equipes usam ambos: uma consulta local no caminho crítico e uma API para o enriquecimento mais rico das poucas requisições que precisam dele.

Respostas diretas

Uma alternativa ao GeoLite2 é qualquer outra fonte de dados de geolocalização por IP, como outro banco de dados baixável ou uma API GeoIP hospedada. As APIs hospedadas eliminam o trabalho de baixar e atualizar arquivos.
Um banco de dados local é melhor quando você precisa da menor latência possível, de operação offline ou de um volume de consultas muito alto. Uma API é melhor quando você quer dados mais recentes, sinais extras e nenhum trabalho de implantação.
Ela retorna país, cidade, ASN, organização e currency_code, além dos indicadores is_vpn, is_tor, is_abuser, is_datacenter e bogon com bogon_type. O plano gratuito permite 1.000 requisições por dia sem cadastro.
← Voltar ao blog