Pular para o conteúdo

Arquitetura real · Staff

Meta Threads: 100 milhões de usuários em 5 dias

Arquitetura real em produção. Pontos centrais: reuso da infraestrutura do Instagram e estimativa de capacidade.

18 min de leitura · Fonte: Meta · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: reuso da infraestrutura do Instagram e estimativa de capacidade. O Threads foi lançado pela Meta em 5 de julho de 2023 e passou de cem milhões de cadastros nos cinco primeiros dias. A fonte deste caso é o texto de engenharia da própria Meta sobre a infraestrutura por trás desse lançamento.

01 · CONTEXTO

Um lançamento anunciado quase sem aviso

O Threads foi lançado pela Meta em 5 de julho de 2023 e passou de cem milhões de cadastros nos cinco primeiros dias. A fonte deste caso é o texto de engenharia da própria Meta sobre a infraestrutura por trás desse lançamento.

Uma equipe pequena construiu o produto em cerca de cinco meses de trabalho técnico, e as equipes de infraestrutura souberam da data com apenas dois dias de antecedência. Segundo o texto, a infraestrutura não foi feita sob medida para o Threads: vinha sendo construída para muitos produtos da empresa.

O texto destaca dois componentes: o ZippyDB, um armazém chave-valor distribuído, e o Async, uma plataforma de funções assíncronas. As próximas seções tratam de cada um.

  1. Publicações e respostas do Threads vivem no TAO, apoiado em MySQL, que guarda o grafo social.

    Diagrama da arquitetura: Pilha de dados e jobs do Threads
    CPServiços do Threads
    DBTAO sobre MySQL
    DBZippyDB
    QFila do Async
    CPExecutores do Async
  2. O ZippyDB, contraparte chave-valor do MySQL, guarda contadores, estado e ranqueamento de feed e busca.

    Diagrama da arquitetura: Pilha de dados e jobs do Threads
    CPServiços do Threads
    DBTAO sobre MySQL
    DBZippyDB
    QFila do Async
    CPExecutores do Async
  3. O Async executa trabalhos que não precisam bloquear o usuário.

    Diagrama da arquitetura: Pilha de dados e jobs do Threads
    CPServiços do Threads
    DBTAO sobre MySQL
    DBZippyDB
    QFila do Async
    CPExecutores do Async

02 · CAPACIDADE

ZippyDB: duas alavancas para crescer rápido

O ZippyDB roda sobre um pool comum de hardware. Máquinas novas adicionadas ao serviço são absorvidas em poucas horas.

Mas aprovar e realocar capacidade de ponta a ponta ainda podia levar da ordem de um par de dias. A equipe também se apoiava em multilocação, que deixa keyspaces com demandas complementares compartilharem os mesmos hosts sem que um impacte o nível de serviço do outro.

Havia ainda folga no pool. Deslocar alocações não usadas entre keyspaces e deixar os hosts mais ocupados permite que um keyspace cresça quase de imediato e se sustente por um curto intervalo.

Hardware novoFolga existente
BasePool comum de hardwareAlocações não usadas entre keyspaces
VelocidadeAbsorvido em poucas horasCrescimento quase imediato
LimiteAprovação de capacidade pode levar da ordem de um par de diasSustentável por um curto intervalo

03 · RESHARDING

Aumentar o número de shards sem parar os clientes

O protocolo de resharding do ZippyDB aumenta o fator de sharding (a escala horizontal) de um caso de uso sem indisponibilidade para os clientes. O desenho usa dois níveis: os clientes aplicam hash às chaves para shards lógicos, que são mapeados para um conjunto de shards físicos. É um exemplo de sharding de banco de dados.

  1. Os clientes aplicam hash às chaves para shards lógicos, mapeados para os shards físicos do mapeamento original.

    Diagrama da arquitetura: Resharding do ZippyDB
    CPCliente do ZippyDB
    DBShards físicos originais
    DBNovo conjunto de shards físicos
    CPCoordenador de resharding
    CPExecutores de resharding
  2. Quando o caso de uso cresce, provisiona-se um novo conjunto de shards físicos.

    Diagrama da arquitetura: Resharding do ZippyDB
    CPCliente do ZippyDB
    DBShards físicos originais
    DBNovo conjunto de shards físicosnovo conjunto
    CPCoordenador de resharding
    CPExecutores de resharding
  3. O novo mapeamento lógico-físico é instalado nos clientes por mudança de configuração ao vivo, sem indisponibilidade.

    Diagrama da arquitetura: Resharding do ZippyDB
    CPCliente do ZippyDB
    DBShards físicos originais
    DBNovo conjunto de shards físicos
    CPCoordenador de resharding
    CPExecutores de resharding
  4. O resharding usa um modelo coordenador-trabalhador, e os executores movem atomicamente cada shard lógico do mapeamento original para o novo.

    Diagrama da arquitetura: Resharding do ZippyDB
    CPCliente do ZippyDB
    DBShards físicos originais
    DBNovo conjunto de shards físicos
    CPCoordenador de resharding
    CPExecutores de resharding
  5. Ao migrar todos os shards lógicos, o resharding termina e o mapeamento original é removido.

    Diagrama da arquitetura: Resharding do ZippyDB
    CPCliente do ZippyDB
    DBShards físicos originais
    DBNovo conjunto de shards físicos
    CPCoordenador de resharding
    CPExecutores de resharding

O modelo coordenador-trabalhador foi desenhado para ser escalável na horizontal e permitir acelerar o resharding quando preciso, como no lançamento do Threads. Casos de uso novos costumam começar pequenos e passar por resharding conforme o crescimento exige; aqui, a equipe viu que precisava preparar o Threads para um crescimento de cem vezes fazendo resharding proativo.

O resharding terminou a tempo da abertura do tráfego, à meia-noite no horário do Reino Unido.

04 · TRABALHO ASSÍNCRONO

Async: seguir milhões de pessoas sem travar a entrada

O Async é a plataforma de funções serverless da Meta e consegue adiar computação para horários de menor uso. Os trabalhos típicos são os que não exigem bloquear um usuário ativo e podem rodar de alguns segundos a várias horas depois da ação.

No Threads, o Async permitiu que o novo usuário seguisse quem já seguia no Instagram. Executar esse seguimento via Async evita bloquear a entrada do usuário.

  1. O novo usuário pede para seguir no Threads quem já segue no Instagram.

    Diagrama da arquitetura: Seguir o grafo do Instagram via Async
    CLNovo usuário
    CPOnboarding do Threads
    QFila do Async
    CPExecutores com limite de taxa
    DBBanco do grafo social
    CPNotificações
  2. O pedido vira trabalho enfileirado no Async, o que evita bloquear a entrada do usuário.

    Diagrama da arquitetura: Seguir o grafo do Instagram via Async
    CLNovo usuário
    CPOnboarding do Threads
    QFila do Async
    CPExecutores com limite de taxa
    DBBanco do grafo social
    CPNotificações
  3. Quando celebridades entraram, milhões de pessoas podiam ficar na fila para segui-las.

    Diagrama da arquitetura: Seguir o grafo do Instagram via Async
    CLNovo usuário
    CPOnboarding do Threads
    QFila do Async
    CPExecutores com limite de taxa
    DBBanco do grafo social
    CPNotificações
  4. A execução é gerida dentro de limites de taxa para não sobrecarregar os serviços a jusante.

    Diagrama da arquitetura: Seguir o grafo do Instagram via Async
    CLNovo usuário
    CPOnboarding do Threads
    QFila do Async
    CPExecutores com limite de taxa
    DBBanco do grafo social
    CPNotificações
  5. O Async ajusta o fluxo à própria capacidade e à de dependências como o banco do grafo, sem intervenção manual.

    Diagrama da arquitetura: Seguir o grafo do Instagram via Async
    CLNovo usuário
    CPOnboarding do Threads
    QFila do Async
    CPExecutores com limite de taxa
    DBBanco do grafo social
    CPNotificações

O volume de jobs superou em várias ordens de magnitude a expectativa inicial. Mesmo assim, o Async o absorveu, enfileirando-o para execução controlada, e as notificações correspondentes também passaram por ele.

05 · LIÇÕES

O que escalou sozinho e onde houve esforço

A fonte aponta uma infraestrutura compartilhada que resistiu ao teste do tempo e um alto grau de automação. Salvo o esforço para garantir capacidade com pouco aviso, redistribuição, balanceamento e escala de cargas ocorreram de forma automática e transparente.

Como funcionouPonto de atenção
Capacidade geralRedistribuição, balanceamento e escala de cargasGarantir capacidade com pouco aviso
Fila de jobs (Async)Fluxo ajustado à capacidade, sem intervenção manualVolume muito acima da expectativa inicial
ZippyDBTroca de mapeamento de shards sem indisponibilidadePreparar o Threads para um crescimento muito maior com resharding proativo

Perguntas frequentes

O que é Meta Threads: 100 milhões de usuários em 5 dias?

Arquitetura real em produção. Pontos centrais: reuso da infraestrutura do Instagram e estimativa de capacidade.

O que o design de Meta Threads: 100 milhões de usuários em 5 dias cobre?

Ele está organizado nestas seções: Um lançamento anunciado quase sem aviso, ZippyDB: duas alavancas para crescer rápido, Aumentar o número de shards sem parar os clientes, Async: seguir milhões de pessoas sem travar a entrada e O que escalou sozinho e onde houve esforço.

Quanto tempo leva Meta Threads: 100 milhões de usuários em 5 dias e qual é o nível?

Leva cerca de 18 minutos para ler e tem nível Staff.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.