Verificador Global de Registro SRV
Enquanto os registros A e AAAA padrão se limitam a traduzir um nome de domínio em um endereço IP, o registro SRV (Service) é vastamente mais complexo. Definido na RFC 2782, o registro SRV estabelece uma maneira padronizada de definir o hostname exato, o protocolo e o número preciso da porta para aplicações de rede específicas. Eles são a espinha dorsal da descoberta de serviços corporativos, fortemente utilizados para Microsoft Active Directory, roteamento SIP/VoIP, mensagens instantâneas XMPP e arquiteturas de servidores multiplayer massivos (como resolver _minecraft._tcp.example.com).
Sintaxe e Port Binding
Um registro SRV é instantaneamente reconhecível por sua rígida estrutura de formatação. O nome do registro deve começar com um underscore denotando o serviço, seguido por um underscore denotando o protocolo de transporte, anexado ao domínio base (por exemplo, _sip._tls.example.com). O Payload resultante entrega quatro pontos de dados específicos ao cliente que se conecta: a Prioridade, o Peso (Weight), a Porta alvo e o Hostname canônico do alvo. Isso permite que administradores executem múltiplos serviços distintos em um único endereço IP usando portas não padronizadas, sem exigir que os usuários finais memorizem e digitem números de portas em seus clientes.
Failover Nativo e Load Balancing Ponderado
A característica mais poderosa do registro SRV é sua lógica nativa de roteamento em múltiplos níveis. O inteiro de Prioridade age exatamente como um registro MX; clientes em conexão sempre tentarão negociar o handshake com o servidor de menor prioridade primeiro. Isso estabelece uma redundância de failover imediata. Se vários registros compartilharem a mesma Prioridade, o inteiro Peso (Weight) é acionado. Isso age como um Load Balancer proporcional. Se o Servidor A tiver peso 75 e o Servidor B tiver peso 25, a aplicação cliente enviará 75% das novas conexões para o Servidor A. Isso permite que engenheiros roteiem tráfego inteligentemente por clusters de variadas capacidades de hardware.
Por Que o HTTP Ignora os Registros SRV
Uma pergunta comum de desenvolvedores júnior é por que o tráfego web (HTTP/HTTPS) não utiliza os registros SRV para obter load balancing nativo. A resposta é puramente histórica. Na época em que os registros SRV foram padronizados, as convenções arquiteturais do HTTP operando estritamente na porta 80 e o HTTPS na porta 443 já estavam universalmente implementadas via hardcode em todos os navegadores da web. Mudar a web para lookups SRV teria adicionado uma enorme penalidade de resolução (exigindo round-trips adicionais) para um benefício marginal. Em vez disso, o HTTP depende de load balancers de camada de aplicação e roteamento Anycast IP.