Topo

Alternativa ao WhatsApp: como Facebook mantém o Messenger vivo no Ano Novo

Messenger; Facebook; Twitter - Getty Images
Messenger; Facebook; Twitter Imagem: Getty Images

Gabriel Francisco Ribeiro

Do UOL, em São Paulo

31/12/2018 17h19

Como você vai desejar 'Feliz Ano Novo' aos seus amigos e familiares? Provavelmente por WhatsApp, né? Mas, se você passar por algum problema com o app ou não tiver o contato de um amigo, a solução será recorrer ao Messenger, o mensageiro próprio do Facebook - que também é dono do WhatsApp, vale dizer. E dá para confiar que o Messenger ficará vivo durante a noite recheada de mensagens?

De fato, a virada do dia 31 de dezembro para 1º de janeiro é o evento mais turbulento para o app: são enviadas mais mensagens durante o Réveillon do que em qualquer momento do ano. E, para manter o serviço inteiro e os desejos de um próspero ano chegando na caixa de mensagens de cada um, existe um time pequeno de engenheiros supervisionando a noite dentro do escritório da companhia em Nova York.

Em entrevista à publicação da organização internacional IEEE (Instituto de Engenheiros, Eletricistas e Eletrônicos), Isaac Abdout, gerente de engenharia, e Thomas Georgiou, engenheiro de software, explicaram como que o serviço se prepara e tenta evitar problemas durante a data festiva - algo que também ocorre com todos os outros serviços, claro.

Os preparativos, por sinal, ocorrem todo o ano: são feitos testes durante o ano todo para que a performance dessa noite não seja afetada. O nível de mensagens no aplicativo durante o dia, enquanto o relógio marca 00h em cada fuso horário, é comparado pelos engenheiros a um incêndio sem controle.

É como um incêndio em uma casa que você não pode parar, as entregas (de mensagem) que você precisa fazer. Nós temos que manter as entregas em dia, caso contrário acaba em uma situação ruim

Thomas Georgiou

Em outros anos, aplicativos de mensagem, como o próprio Messenger e o WhatsApp, já sofreram instabilidade durante a virada do ano - o mesmo ocorre com as próprias redes das operadoras de telefonia, devido ao volume de uso dos sistemas. No caso do Messenger, um outro problema está nos componentes extras do aplicativo - como grandes grupos e recibos de leitura de mensagem, além da quantidade maior de fotos e vídeos enviados na virada.

Evitar efeito cascata

Se uma mensagem não é enviada na hora para o destinatário, o usuário continuará tentando enviar enquanto outros novos passarão a mandar suas próprias mensagens. E isso pode criar um efeito cascata no sistema.

"A maior coisa que nos preocupamos é: como evitar que o efeito cascata ocorra?", diz Georgiou.

Uma das maneiras que o Messenger faz é realizar extensivos testes de carregamento antes do Réveillon, simulando o volume de mensagens do dia em si baseado nos anos anteriores. Isso permite que o Facebook saiba quantas mensagens um servidor pode suportar antes da equipe mudar o tráfego para outros servidores da rede.

No último Ano Novo, por exemplo, um centro de dados teve trabalho com um número de mensagens, então a equipe passou a direcionar o tráfego daquele centro para outros. Após o incidente, o grupo criou ferramentas que deixam essas mudanças de direcionamento de tráfego mais fáceis.

Existem ainda outros "extintores" construídos para os casos em que a situação fique realmente ruim. Cada nova mensagem enviada para um servidor vai para uma fila como parte de um serviço chamado Iris. Lá, mensagens ganham um tempo-limite - após esse tempo, ela seria eliminada da fila para liberar espaço para outras.

Em eventos de alto volume de envios, isso permite que a equipe descarte rapidamente determinados tipos de mensagens, como confirmações de leitura, para concentrar os recursos na entrega das mensagens que os usuários realmente escreveram.

"Se chegar a esse ponto, o Iris vai preferir entrar uma mensagem e eliminar o recibo de entrega, em vez de eliminar as mensagens e entregar o recibo", aponta Abdout.

Você talvez não veja os contatos online

Outra função que pode ser sacrificada nestes momentos é aquela bolinha verde que mostra que um usuário está online. De acordo com Georgiou, o grupo pode diminuir a frequência com que o status do usuário é atualizado para aliviar o congestionamento na rede.

O time ainda pode instruir o sistema a atrasar temporariamente algumas funções, como a de deletar informações de mensagens antigas, por algumas horas para liberar a CPU que faria essa tarefa. Assim, mais mensagens podem ser processadas no momento. Todas essas funções, contudo, são ativadas caso um cenário caótico ocorra no Messenger.

"Em vez de ver nosso serviço morrendo no chão e ninguém conseguindo usar, você faz ele um pouco menos incrível e as pessoas conseguem continuar usando", aponta Abdout.

No último ano, nenhuma dessas medidas drásticas precisaram ser tomadas. Como será na virada para 2019?

Quais os melhores celulares de 2018? Veja os destaques de cada categoria

Leia mais