Pular para o conteúdo principal

Pergunta 43 de 50

O que é Replication Factor?

PlenoSênior

Pergunta

"O que é Replication Factor e como você escolheria o valor certo?"

O que o entrevistador quer avaliar

Se você entende replication factor como uma decisão de disponibilidade com custo real, não um número arbitrário "para segurança".

Resposta rápida

Replication Factor é o número de cópias de cada partition de um tópico, distribuídas entre brokers diferentes — uma delas o leader, as demais followers. Replication factor 3 é o padrão recomendado em produção, permitindo tolerar a perda de pelo menos um broker sem perda de dados confirmados.

Resposta nível Sênior

O trade-off é direto: mais réplicas significam mais tolerância a falhas, mas também mais uso de disco, rede e I/O de replicação. Replication factor 1 é aceitável só em desenvolvimento local — qualquer perda do único broker que hospeda a partition significa perda de dados. Replication factor 3 é o menor número que permite tolerar a perda de um broker com folga, mantendo mais de uma réplica ainda no ISR durante a recuperação — daí ser o padrão de mercado. Vale notar que replication factor por si só não protege contra a queda de uma zona de disponibilidade inteira, a menos que as réplicas estejam explicitamente distribuídas entre zonas diferentes (rack awareness).

Explicação aprofundada

Veja "Replication Factor" e "Quando aumentar o Replication Factor" no Capítulo 5.

Exemplo financeiro

Um tópico de transações de cartão roda com replication factor 3 e min.insync.replicas=2: toda escrita com acks=all só é confirmada depois que pelo menos 2 das 3 réplicas a persistirem, garantindo que a transação sobreviva à queda de um broker imediatamente após a confirmação.

"Replication Factor é sobre backup de longo prazo"

Replicação protege contra falha de broker no curto prazo, não é uma estratégia de backup ou disaster recovery entre regiões geográficas — isso exigiria replicação entre clusters (ex.: MirrorMaker), uma camada adicional.

Pode vir a seguir

Prováveis follow-ups: "qual a diferença entre Partition e Replication Factor?" e "o que são Leader e Follower?".

Capítulos relacionados