Por ser um site usado por milhões de pessoas todos os dias, o Twitter não pode se dar ao luxo de sair do ar. Vez ou outra a baleia aparece para alguns usuários, mas em geral ele está sempre disponível para a maioria deles. E hoje um post no blog de engenheiros do site divulgou como eles conseguem se manter na ativa e ao mesmo tempo implementar novas linhas de código: usando BitTorrent.

Antes dele, o time de engenheiros do Twitter usava um sistema chamado Git, mas o crescimento da rede acabou tornando esse meio inviável. Enquanto que o Git era eficiente para dezenas de servidores, quando esse número chegou a centenas (mais precisamente em janeiro desse ano) ele foi perdendo em performance. Foi então que um conjunto em esforço de toda a equipe, liderada por Larry Gadea, criou o Murder: um sistema feito de scripts de Python e Ruby que usa BitTorrent para espalhar novo código no site.

Larry apresenta o Murder em conferência

O projeto foi implementado de vez em maio desse ano e pouco depois o Twitter resolveu torná-lo open source. De acordo com Larry, uma atualização no código do site que antes poderia levar até 40 minutos foi reduzido para meros 12 segundos com o uso do protocolo de compartilhamento de arquivos.

Outro site que também declarou recentemente o uso de BitTorrent nos servidores para implantar código novo é o Facebook, mas seu líder de engenharia Tom Cook não disse se eles também criaram um sistema próprio ou se usam o mesmo do Twitter.

Você que achava que BitTorrent só servia para baixar filmes, séries e programas, está surpreso em descobrir que ele é essencial para duas das maiores redes sociais do mundo? Eu certamente não estou. 😉

Com informações: Twitter Engineering blog.

Comentários

Envie uma pergunta

Os mais notáveis

Comentários com a maior pontuação

@narcelio
Se fosse empresa brasileira resolveria com Java e Oracle, pois Software Livre não é "enterprisey".
Hernani
Continua engraçado ¬¬
@caiofbpa
Quando se lida com muitos servidores, um modelo hierarquizado de distribuição de informação é muito lento. O modelo Peer to Peer, base do BitTorrent, distribui as tarefas de clientes e servidores entre os pares da rede, o que aumenta muito a performance e a disponibilidade da informação. Implementação interessante para o protocolo, que cada vez mais ganha força na Internet. =D
kylefurtado
Amém. Está precisando mesmo, meu twitter vive baleiando. :/
Alexandre
E voce pensava que torrent era soh pra porn e animes, né?
@MarvinDF
Pergunta de preguiçoso que ainda não pesquisou sobre o assunto. Alguém tem informações mais detalhada de como isso funciona de fato?
@alberson
@Hernani "Assassino". "Killer" seria "matador" :P
Hernani
Gostei do nome "matador" hehehehehe
JoseRenan
interessante :)
Rafael Silva
Leandro, eu sei que o Murder é para code deployment, só citei o crescimento do site e as constantes baleiadas como prova de que ele realmente estava precisando de uma estrutura melhor para atualizar o código. Also, do jeito que nosso servidor anda, a gente provavelmente vai precisar implementar esse tal de Murder aqui no futuro. Get to work! :P
@DavidProw
Ótima matéria, jamais imaginaria que funcionava desta forma hehe. Obs: Você trocou as letras na hora de escrever, o correto seria Python, não Phyton (http://www.python.org/). Abraços.
Henrique Picanço (@henriquepicanco)
Eu gostei dessa idéia de BitTorrent para manter o site no ar. Nunca antes na história deste país li coisa parecida. Se é para o bem te todos, e felicidade geral dos tuiteiros, digam a eles que atualizo!
Leandro Alonso
Na realidade acho que houve um pequenino equívoco: o Murder é usado para manter o código do Twitter atualizado em milhares de servidores, e não para efetivamente manter o site no ar. Isso nada mais é que um sistema para Controle de Versões, como o CVS, Mercurial, SVN e o próprio Git, que era usado pelo pessoal do Twitter. Ou seja, se com o Git algum servidor demorava até 40 minutos para estar atualizado, com o Murder isso não ocorre mais. Ou seja, menos baleias. Podem ter certeza que se isso vier a ajudar o Tecnoblog a ficar mais tempo online adotaremos de imediato! Hahaha
Edson FJ
e não seria viável usar BitTorrent pra desafogar o servidor não só em atualizações, mas em uso comum? A troca de dados é pequena, de poucos caracteres, mas multiplica por milhões de usuários...
Breno Brito
Caaaraca, q recurso bacana =D puuuts! chorey aqui agora... (até arrepiou xD). Vou estudar essa tchoça e ver o que posso aprender com o tuiti. OffTopic... pô TB, tá ai um belo exemplo que vcs podem adotar pra nao ficarem mais off =X