A internet morreu ontem à noite – de novo – por causa de um segundo “bissexto”
Na sexta à noite, a internet foi vítima de uma tempestade nos EUA: ela derrubou servidores da Amazon que hospedam sites e serviços como Instagram e Netflix. Ontem à noite, a internet caiu de novo, derrubando sites como Reddit, Foursquare, LinkedIn e até nossos irmãos do Gizmodo americano. Mas desta vez, não foi por causa de eventos da natureza. Desta vez, foi por causa de um segundo “bissexto”.
Um dia é o período de rotação da Terra ao redor do seu eixo. Só que a rotação da Terra tem diminuído de velocidade: ou seja, os dias estão ficando um pouquinho maiores que 24h. Como a humanidade mede o tempo usando relógios atômicos estáveis, às vezes é preciso adicionar neles um segundo a mais.
À 0h no meridiano de Greenwich (21h em Brasília), todos os relógios atômicos do mundo inseriram um segundo adicional – basicamente, eles ficaram parados por um segundo – para se manterem em uníssono com a rotação do planeta. Isto já aconteceu 24 vezes desde 1972, e é avisado com até seis meses de antecedência.
Muitos dispositivos tecnológicos – como servidores, redes e laptops – sincronizam seus relógios com um relógio atômico. O problema é que nem sempre eles sabem lidar com o segundo adicional: eles veem duas vezes o mesmo tempo.
Aí o resultado foi desastroso. Alguns sites saíram do ar por horas, enquanto administradores trabalhavam para resolver o caos que apenas um segundo conseguiu causar. O Gizmodo americano caiu às 21h (horário de Brasília) e ficou fora do ar por cerca de 45 minutos até voltar. Mas nem todos foram afetados, e um site estava mais que bem-preparado: o Google. Como aponta a Wired, o Google antecipou este momento, descrevendo há meses sua estratégia para lidar com a ameaça do segundo “bissexto”: os chamados “leap smears”.
A solução que criamos acabou sendo chamada de “leap smear”. Nós modificamos nossos servidores internos de NTP [Network Time Protocol, que corrige a hora no computador consultando um relógio atômico] para gradualmente acrescentar alguns milissegundos a cada atualização, variando em um período de tempo antes que o segundo “bissexto” de fato ocorra. Isto significa que, quando chegou a hora de adicionar um segundo adicional à meia-noite, nossos relógios já haviam levado isso em conta, avançando no tempo durante o dia. Todos os nossos servidores então puderam continuar normalmente…
Se você estava se perguntando porque a internet resolveu dar problema no final de semana inteiro, agora você já sabe. Só espero que nada dê errado neste domingo… [Wired]