27 pontos por xguru 2023-12-26 | 3 comentários | Compartilhar no WhatsApp
  • Lançado em julho de 2023, o Threads alcançou 100 milhões de cadastros nos primeiros 5 dias
  • Uma equipe pequena e ágil de engenharia construiu o Threads com apenas 5 meses de trabalho técnico
  • A escalabilidade sem atritos observada durante a entrada de muitos usuários foi resultado de mais de 10 anos de esforços em infraestrutura e desenvolvimento de produtos
  • Em vez de uma infraestrutura construída especificamente para o Threads, foram reaproveitadas infraestruturas já existentes e usadas em inúmeros produtos da Meta
  • Na prática, foi usada uma quantidade enorme de infraestrutura, mas os destaques são o banco de dados distribuído de chave-valor ZippyDB e a plataforma de funções serverless assíncronas Async

ZippyDB: expansão de keyspace para o Threads

  • O ZippyDB é um banco de dados distribuído de chave/valor construído do zero com base na infraestrutura da Meta, e funciona como um serviço totalmente gerenciado sobre o qual engenheiros podem desenvolver
  • Os keyspaces hospedados no ZippyDB podem ser escalados para cima e para baixo com relativa facilidade, além de serem distribuídos com flexibilidade entre vários data centers
  • Para o armazenamento do grafo social, é usado o TAO (The Associations and Objects), baseado em MySQL
  • O ZippyDB funciona como o equivalente em chave/valor ao MySQL, sendo usado para contadores, ranking/estado de feed, busca e outros casos

Otimização do ZippyDB e lançamento do produto

  • Com o protocolo de resharding do ZippyDB, é possível aumentar rapidamente o fator de sharding dos casos de uso sem impactar os clientes, mantendo consistência e exatidão completas
  • O resharding é feito sem downtime ao provisionar um novo conjunto de shards físicos e instalar, por meio de uma mudança de configuração em tempo real, o novo mapeamento entre shards lógicos e físicos para os clientes
  • As operações de resharding foram projetadas para escalar horizontalmente, permitindo acelerar a velocidade de resharding quando necessário, como no lançamento do Threads
  • Também foi desenvolvido um conjunto de ferramentas emergenciais para operadores, capazes de lidar com crescimento repentino de casos de uso com facilidade

Async: expansão da execução de workloads para o Threads

  • O Async (ou XFaaS) é uma plataforma de funções serverless que reduz o tempo entre a concepção de uma solução e sua implantação em produção
  • Hoje, o Async processa trilhões de invocações de funções por dia e oferece suporte a diversas linguagens de programação, como HackLang, Python, Haskell e Erlang
  • Ele abstrai detalhes de implantação, enfileiramento, agendamento, escalabilidade, recuperação de desastres e prontidão, permitindo que desenvolvedores foquem na lógica principal de negócio
  • O Async é usado principalmente para tarefas que podem ser executadas de alguns segundos a algumas horas depois, sem atrapalhar a experiência do usuário
  • No Threads, ele teve papel importante em acelerar a formação de comunidade ao permitir que usuários seguissem no Threads as pessoas que já seguiam no Instagram
  • Para atender 100 milhões de usuários em 5 dias, foi necessária uma capacidade de processamento considerável, e o Async absorveu o aumento de carga com elegância, enfileirando tarefas para execução controlada

O encontro entre infraestrutura e cultura

  • O rápido desenvolvimento do Threads em apenas 5 meses de trabalho técnico mostra bem a força da infraestrutura e da cultura de engenharia da Meta
  • Os produtos da Meta aproveitam uma infraestrutura compartilhada testada ao longo do tempo, permitindo que as equipes de produto se movam rapidamente e ampliem produtos bem-sucedidos com agilidade
  • Essa infraestrutura tem alto nível de automação, de modo que, exceto pelo esforço de garantir capacidade em curto prazo, a redistribuição automática de workload, o balanceamento de carga e a escalabilidade acontecem de forma fluida e transparente
  • A Meta busca uma cultura de engenharia ágil, em que engenheiros trabalham de forma colaborativa com forte senso de ownership para alcançar com eficiência objetivos comuns em grande escala

3 comentários

 
lakalaka 2023-12-26

Muito foda

 
jangsc0000 2023-12-26

Nossa, que útil~

 
[Este comentário foi ocultado.]