BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

Twitter sobrevive às eleições dos EUA com ajuda de Java e Scala

por Charles Humble , traduzido por Walter Dias em 14 Nov 2012 |

A conhecida baleia do Twitter esteve desaparecida no dia das eleições presidenciais americanas, mesmo com os servidores do Twitter recebendo mais de 320 mil tweets por minuto, de acordo com Mazen Rawshdeh, VP de infraestrutura do Twitter. No total, houve cerca de 31 milhões de tweets relacionados à eleição durante o dia do pleito, e o tráfego continuou a crescer, atingindo a marca de 15.107 tweets por segundo (750k por minuto).

Para efeito de comparação, em 2008, na noite de eleição o ápice foi 229 tweets por segundo. Rawashdeh observou que o padrão de uso do Twitter vem mudando com o passar dos anos, de pequenos "hits" locais (como aproximação da virada do Ano Novo ou a celebração de um anúncio de gravidez), para um período mais constante em pico, durando várias horas. Isso ocorreu, por exemplo, durante a cerimônia de encerramento dos jogos olímpicos de 2012, na final da NBA, e agora nas eleições americanas.

Um dos motivos pelo qual o Twitter foi capaz de receber esse volume de transações foi uma série de modificações que a companhia vem realizando em sua infraestrutura, incluindo uma mudança gradual do Ruby para um mix de serviços escritos em Java e Scala, rodando sobre a JVM.

O anúncio mais recente nesse sentido foi a mudança dos clientes móveis do Twitter. Segundo Rawashdeh:

Como parte da migração do Ruby para a JVM, reconfiguramos nossos serviços para que o tráfego dos clientes móveis passasse a utilizar a plataforma Java em vez de tecnologias do Ruby.

O Twitter foi por um tempo considerado a maior vitrine mundial do Ruby on Rails. A empresa realizou investimentos substanciais no Ruby e na sua plataforma, chegando até a criar seu próprio Garbage Collector para Ruby, chamado Kiji.

Em 2010, entretanto, o Twitter anunciou que seu foco de desenvolvimento estava mudando. Para o front-end, a empresa seguiu as tendências do HTML5, ao fazer a renderização de código através de JavaScript no navegador. Com isso deixou de ganhar os benefício dos templates do Rails para a construção de páginas web. Tendo como direcionamento o desempenho e o encapsulamento de código, o time de engenheiros reescreveram em Scala tanto o back-end de filas de mensageria, como a forma de armazenamento do tweets.

Também em 2010, a equipe de pesquisas do Twitter iniciou a reescrita do seu mecanismo de pesquisas, modificando o armazenamento de pesquisas de MySQL para uma versão baseada no Lucene. Já em 2011 a equipe de engenharia anunciou a substituição do front-end de pesquisas em Ruby on Rails por um em Java, chamado de Blender. O resultado final foi uma diminuição de três vezes na latência das pesquisas.

Como resultado dessas mudanças, o Twitter permaneceu funcionando sem problemas mesmo num momento de pico que quebrou recordes. "Independentemente de quando, onde ou como o Twitter é usado, precisamos manter o serviço acessível 24/7, em todo o mundo," destacou Rawashdeh. "Estamos trabalhando intensamente para preencher essa expectativa."

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT