Fan-out on write x fan-out on read pra timeline
Pergunta
Pra montar a timeline de um usuário que segue muita gente, qual a diferença entre fan-out on write e fan-out on read, e por que se usa um híbrido?
Resposta esperada
Fan-out on write (push): quando alguém posta, o sistema escreve esse post na 'caixa de entrada' (cache/lista) de cada seguidor na hora. Ler a timeline fica barato (só ler a própria lista), mas postar de uma conta com 50 milhões de seguidores explode em 50 milhões de escritas. Fan-out on read (pull): não pré-computa nada; ao abrir a timeline, o sistema busca os posts recentes de todos que você segue e faz merge na hora. Escrita barata, leitura cara e lenta pra quem segue muita gente. Híbrido (o que redes grandes fazem): fan-out on write pra usuários comuns, e pull pras contas 'celebridade' (acima de um limiar de seguidores) — a timeline é a lista pré-computada mesclada, na leitura, com os posts recentes das celebridades que você segue. Combina o melhor dos dois ao custo de complexidade.
Por que perguntam isso
Pergunta sênior clássica. O híbrido e o limiar de 'celebridade' é o detalhe que mostra que a pessoa conhece o problema real.