ShareThis' Experience Building Meteor Apps at Scale

Por Vijay Annapureddy

ShareThis usa Meteoros para construir aplicações web. Meteoros é uma plataforma completa para construir aplicações web e móveis em puro JavaScript. Um aplicativo Meteor inclui um componente do lado do cliente que será executado no cliente (o navegador), o que permite que o Meteor faça o que ele chama de banco de dados em qualquer lugar. O Meteor vai pegar um subconjunto da base de dados e copiá-lo para o cliente. Em vez de enviar o código HTML para o cliente, uma aplicação Meteoros enviará os dados reais, em bruto, e deixará o cliente lidar com eles.

Uma vez que 65% da infra-estrutura do ShareThis está ancorada e a funcionar em Kubernetes e para usar o Meteoros de forma eficaz, precisamos de construir aplicações Meteorológicas em escala com a capacidade de lidar com milhões de pedidos por mês. Para isso, primeiro testamos as nossas aplicações de Meteoros e observamos o desempenho em relação ao número de pedidos por segundo quando há um grande número de pedidos simultâneos. A fim de renderizar os dados do backend da IU do MongoDB, os servidores de Meteoros publicaram conjuntos de registros. Os tempos de resposta da nossa aplicação em execução no Meteor, mais o MongoDB, foram insatisfatórios. Levou 1,5 segundos para o meteorito atualizar 5.000 documentos do Mongo quando testados com 185 pedidos por segundo ao nível de 125. O tempo ideal de resposta deve ser inferior a 1 segundo.

Coisas importantes que observamos com o Meteoro em escala em Kubernetes são:
O Meteor's Publisher & Subscription padrão não pode render um grande número de atualizações do MongoDB em tempo real
O sock.js do meteorito e a exigência de sessões pegajosas fazem com que a IU se torne escamosa quando há múltiplas instâncias de meteorito correndo em paralelo atrás de um equilibrador de carga.

Leia mais sobre a nossa abordagem à escalada do Meteoro e as mudanças que fizemos na nossa arquitectura do Meteoro aqui:

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado