ScholarGate
Assistente

Tolerância a Falhas e Replicação

Tolerância a falhas e replicação são as técnicas pelas quais sistemas distribuídos continuam a fornecer serviço correto apesar da falha de alguns de seus componentes.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

Tolerância a falhas é a capacidade de um sistema de continuar a atender às suas especificações apesar de falhas em alguns componentes; a replicação — manter múltiplas cópias de computação ou dados — é o principal mecanismo para alcançá-la, exigindo protocolos para manter as cópias adequadamente consistentes.

Scope

Esta área abrange a redundância como base da tolerância a falhas, a abordagem de replicação de máquina de estado para construir serviços confiáveis, a replicação de dados e os modelos de consistência que governam os dados replicados, o teorema CAP e o trade-off de consistência-disponibilidade sob partições, e técnicas de recuperação com rollback baseadas em checkpointing e logging. Ela conecta a teoria de consenso e ordenação à construção de sistemas confiáveis.

Sub-topics

Core questions

  • Como a redundância transforma componentes não confiáveis em um serviço confiável?
  • Que consistência as réplicas devem manter, e qual o custo de cada nível em latência e disponibilidade?
  • O que é fundamentalmente impossível de garantir quando a rede pode particionar?
  • Como um sistema pode se recuperar para um estado consistente após falhas?

Key theories

Replicação de máquina de estado
Um serviço determinístico é tornado tolerante a falhas executando réplicas idênticas que processam a mesma sequência de comandos na mesma ordem, de modo que as réplicas sobreviventes podem mascarar a falha de outras.
Teorema CAP
Quando a rede pode particionar, um serviço replicado não pode garantir simultaneamente forte consistência e disponibilidade; os projetistas devem escolher qual sacrificar durante uma partição, um trade-off formalizado por Gilbert e Lynch.
Recuperação com rollback
Ao fazer checkpointing periodicamente do estado e, opcionalmente, registrar mensagens, um sistema pode reverter processos falhos para uma linha de recuperação consistente e reproduzir para frente, recuperando-se sem reiniciar toda a computação.

Clinical relevance

A replicação e a tolerância a falhas são o que tornam o armazenamento em nuvem durável e os serviços altamente disponíveis; os modelos de consistência e os trade-offs CAP estudados aqui determinam diretamente as garantias oferecidas por bancos de dados, armazenamentos de objetos e serviços de coordenação usados em toda parte na produção.

History

O tutorial de Schneider de 1990 codificou a abordagem de máquina de estado para replicação; a conjectura CAP de Brewer (2000), provada por Gilbert e Lynch em 2002, enquadrou o debate sobre consistência-disponibilidade que moldou a era NoSQL; e pesquisas como as de Elnozahy e colegas consolidaram décadas de pesquisa em recuperação com rollback.

Debates

Consistência forte versus eventual
A consistência forte simplifica o raciocínio da aplicação, mas limita a disponibilidade e aumenta a latência sob partições; a consistência eventual maximiza a disponibilidade ao custo de expor desacordos temporários, e a escolha certa depende da semântica da aplicação.

Key figures

  • Fred Schneider
  • Leslie Lamport
  • Eric Brewer
  • Seth Gilbert
  • Nancy Lynch

Related topics

Seminal works

  • schneider1990
  • gilbert2002
  • elnozahy2002

Frequently asked questions

A replicação sempre melhora a confiabilidade?
Somente se as réplicas forem mantidas consistentes e falharem independentemente. Réplicas mal coordenadas podem divergir e servir dados conflitantes, e falhas correlacionadas (energia compartilhada, bugs de software) anulam a redundância, então a replicação deve ser combinada com o protocolo de consistência correto.

Methods for this concept

Related concepts