66
CONSISTÊNCIA E CONSENSO CONSISTÊNCIA E CONSENSO CONSTRUINDO SISTEMAS DISTRIBUÍDOS CONSTRUINDO SISTEMAS DISTRIBUÍDOS TOLERANTES A FALHAS TOLERANTES A FALHAS Aluísio Augusto Silva Gonçalves 17 de maio de 2018

CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

Embed Size (px)

Citation preview

Page 1: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONSISTÊNCIA E CONSENSOCONSISTÊNCIA E CONSENSOCONSTRUINDO SISTEMAS DISTRIBUÍDOSCONSTRUINDO SISTEMAS DISTRIBUÍDOS

TOLERANTES A FALHASTOLERANTES A FALHASAluísio Augusto Silva Gonçalves

17 de maio de 2018

Page 2: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONTEÚDOCONTEÚDORecapitulandoGarantias de consistênciaLinearizabilidadeGarantias de ordenaçãoTransações DistribuídasConsensoAssociação e coordenaçãoSumárioQuestões

Page 3: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

RECAPITULANDORECAPITULANDO

Page 4: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

PROBLEMAS COM SISTEMASPROBLEMAS COM SISTEMASDISTRIBUÍDOSDISTRIBUÍDOS

Comunicação: atraso/reordenação/duplicação/perdade pacotesOrdenação: relógios imprecisos ou dessincronizadosDisponibilidade: nodos podem pausar ou falhar aqualquer momento

Page 5: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

GARANTIAS DEGARANTIAS DECONSISTÊNCIACONSISTÊNCIA

Page 6: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ATRASO DE REPLICAÇÃOATRASO DE REPLICAÇÃO

Usuário 3

BD 1

BD 2

Usuário 1

Usuário 2

leia 'k'

'k': 12

escreva 'k': 13

ok

replique 'k': 13

leia 'k''k': 13

leia 'k' 'k': 12

Mesmo instante, nodos diferentes, dados diferentes.

Page 7: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

MODELOS DE CONSISTÊNCIAMODELOS DE CONSISTÊNCIAConsistência eventual

Em algum momento após uma escrita, todos osnodos terão o mesmo dado.

LinearizabilidadeApós uma escrita, todas as leituras (em qualquernodo) retornam o valor escrito.

Page 8: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZABILIDADELINEARIZABILIDADE

Page 9: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

OBJETIVOOBJETIVOFazer parecer que há apenas uma cópia dos dados,

abstraindo da aplicação/usuário a existência de réplicas(e os problemas que vêm com elas).

Todas as leituras e escritas podem ser mapeadas parauma única linha do tempo.

Page 10: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

UTILIDADEUTILIDADELocksRestrição de unicidadeInteração entre sistemas

Page 11: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONDIÇÕESCONDIÇÕESApós a conclusão de uma escrita, todas as leiturasretornam o valor novo

Mas e durante a escrita?

Após uma leitura do valor novo, todas as leiturasseguintes também retornam o valor novo

Ou seja, as operações são atômicas

Page 12: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

IMPLEMENTANDO SISTEMASIMPLEMENTANDO SISTEMASLINEARIZÁVEISLINEARIZÁVEIS

Tenha apenas uma cópia dos dados, isto é, não utilizereplicação

1.

Utilize um mecanismo de replicação linearizável2.

Page 13: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

REPLICAÇÃO LINEARIZÁVELREPLICAÇÃO LINEARIZÁVELReplicação com líder único (possivelmentelinearizável)

Isolamento por snapshot não é linearizávelRequer replicação síncrona

Replicação por consenso (linearizável)

Inclui medidas para evitar os problemas dareplicação com líder único

Page 14: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

REPLICAÇÃO LINEARIZÁVELREPLICAÇÃO LINEARIZÁVELReplicação multi-líder (não linearizável)

Escritas em paralelo com replicação assíncronapodem levar à conflitos

Replicação sem líder (provavelmente não-linearizável)

Quórum não é afetado por atraso de replicação,mas leituras sãoOrdenação por relógio físico/time-of-day podenão ser a ordem real dos eventos

Page 15: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

O TEOREMA CAPO TEOREMA CAPDatacenter 1 Datacenter 2

quebra da rede

Consistência OU disponibilidade quando particionado.

Page 16: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

O TEOREMA CAPO TEOREMA CAPSe a aplicação requer linearizabilidade, e algumasréplicas perdem acesso às outras, as réplicas setornam indisponíveis para o processamento derequisições.Se a aplicação não requer linearizabilidade, e algumasréplicas perdem acesso às outras, requisições aindapodem ser processadas independentemente, ao custoda linearizabilidade.

Page 17: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZABILIDADE E REDESLINEARIZABILIDADE E REDESINSTÁVEISINSTÁVEIS

Linearizabilidade reduz o desempenho de um sistemaO tempo de resposta em um sistema linearizável éproporcional à incerteza sobre os atrasos na redeAlta variabilidade ⇒ maior tempo de resposta

Page 18: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

GARANTIAS DEGARANTIAS DEORDENAÇÃOORDENAÇÃO

Page 19: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDEM É IMPORTANTEORDEM É IMPORTANTEO líder na replicação com líder único determina aordem na qual seus seguidores executam operações deescritaSerializabilidade garante que transações sãoexecutadas como-se fossem executadas em algumaordem sequencialRelógios são um modo de ordenar escritas

Page 20: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDEM E CAUSALIDADEORDEM E CAUSALIDADECausalidade é uma ordenação parcial

Uma pergunta acontece antes de sua respostaA criação de um registro acontece antes de suamodificaçãoDuas mensagens simultâneas de usuários diferentesnão podem ser ordenadas (são concorrentes)

Sistemas que respeitam essa ordenação causal sãocausalmente consistentes

Page 21: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDEM E LINEARIZABILIDADEORDEM E LINEARIZABILIDADELinearizabilidade é uma ordenação total

Todos os eventos ocorrem em uma única linha dotempoNão existem eventos concorrentes (ou seja, não-ordenáveis)

Linearizabilidade implica em consistência causal

Page 22: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CAUSALIDADE ECAUSALIDADE ELINEARIZABILIDADELINEARIZABILIDADE

Consistência causal é uma garantia mais fraca quelinearizabilidadeO teorema CAP não se aplica à sistemas apenascausalmente consistentesO tempo de resposta de sistemas apenas causalmenteconsistentes não depende diretamente da qualidadeda rede

Page 23: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

RASTREANDO DEPENDÊNCIASRASTREANDO DEPENDÊNCIASCAUSAIS COM NÚMEROS DECAUSAIS COM NÚMEROS DE

SEQUÊNCIASEQUÊNCIAAssocia-se um número de sequência à cada chave,que é incrementado com cada modificaçãoNúmeros de sequência impõem uma ordenação total:

Operações ordenáveis causalmente mantém estaordemOperações concorrentes são ordenadas em algumaordem

Page 24: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

GERANDO NÚMEROS DEGERANDO NÚMEROS DESEQUÊNCIASEQUÊNCIA

Quando há um líder único: o líder incrementa onúmero associado à chave após uma escritaEm outros casos:

Geração de sequências disjuntas de números pornodoTimestamps de alta resoluçãoPré-alocação de lotes de números de sequência pornodoNenhum destes é causalmente consistente!

Page 25: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDEM TOTAL DE LAMPORTORDEM TOTAL DE LAMPORTNodos e clientes mantêm um contador individualCada requisição inclui o contador do clienteCada resposta inclui um par (contador do nodo, ID do nodo) ← timestamp da operaçãoAo receber uma requisição ou resposta com contadormaior que o seu próprio, este é incrementado paraalém do que foi recebido

Page 26: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDEM TOTAL DE LAMPORTORDEM TOTAL DE LAMPORT

BD 1

BD 2

Usuário 1

Usuário 2

cmax = 0

c = 1

(1, 2)

cmax = 1

c = 2

(2, 2)

cmax = 2

c = 3

(3, 2)

cmax = 3

c = 5

(5, 2)

cmax = 0

c = 1

(1, 1)

c = 4

cmax = 1

(4, 2)

cmax = 4

c = 5

(5, 1)

Dependências causais resultam em um incremento docontador

Page 27: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ORDENAÇÃO DE ORDENAÇÃO DE TIMESTAMPSTIMESTAMPS DE DELAMPORTLAMPORT

Ordenação total é possível através do par (contador do nodo, ID do nodo)A ordenação só pode ser feita com conhecimento dasoperações de todos os nodos

Não é o bastante para garantir unicidade

Page 28: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

BROADCASTBROADCAST DE ORDENAÇÃO TOTAL DE ORDENAÇÃO TOTAL/ / BROADCASTBROADCAST ATÔMICO ATÔMICO

Entrega confiávelSe uma mensagem é entregue à qualquer nodo,então ela é entregue à todos os nodos

Entrega totalmente ordenadaMensagens são entregues à todos os nodos namesma ordem

Estas propriedades devem ser sempre mantidas, ouatingidas eventualmente no caso de falhas na rede ou em

algum nodo.

Page 29: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

BROADCASTBROADCAST ATÔMICO - UTILIDADE ATÔMICO - UTILIDADEConsensoConsistência entre réplicas (salvo atraso de replicação)Transações serializáveisLog de operações/replicação/transações/write-aheadServiço de lock

Page 30: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZAÇÃO DE ESCRITAS COMLINEARIZAÇÃO DE ESCRITAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO

Estudo de caso: reivindicando um nome de usuário

Envie uma mensagem reivindicando o nome deusuário desejado.

1.

Aguarde o recebimento desta mesma mensagem.2. Caso alguma outra reivindicação seja recebida nesseínterim, desista.

3.

Do contrário, a operação foi concluída com sucesso.4.

Todos os nodos concordam sobre quais operaçõesocorreram e sua ordem.

Page 31: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO

Opção 1, usando broadcast atômico para marcar umaposição no tempo:

Envie uma mensagem qualquer.1. Aguarde a mensagem retornar.2. Efetue a leitura.3.

Page 32: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO

Opção 2, caso as mensagens sejam indexadas:

Obtenha o índice da última mensagem recebida.1. Aguarde até que todas as mensagens com índicemenor sejam recebidas.

2.

Efetue a leitura.3.

Page 33: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LINEARIZAÇÃO DE LEITURAS COMLINEARIZAÇÃO DE LEITURAS COMBROADCASTBROADCAST ATÔMICO ATÔMICO

Opção 3, faça a leitura em uma réplica síncrona.

Page 34: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

BROADCASTBROADCAST ATÔMICO COM ATÔMICO COMLINEARIZAÇÃOLINEARIZAÇÃO

Execute uma operação incremente-e-leia em umcontador linearizado.

1.

Use o valor lido como número de sequência.2. Envie a mensagem para todos os nodos, re-enviandoem caso de perda.

3.

Ao receber uma mensagem, aguarde até ter entregue àaplicação a mensagem com contador imediatamenteanterior antes de entregar a mensagem atual.

4.

Page 35: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

TRANSAÇÕESTRANSAÇÕESDISTRIBUÍDASDISTRIBUÍDAS

Page 36: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

COMMITCOMMIT ATÔMICO DISTRIBUÍDO ATÔMICO DISTRIBUÍDOEm um único nodo, o SGBD escreve as alterações em um

log e marca a transação como finalizada no log. Casohaja uma falha antes da marcação ser gravada com

sucesso, a transação é revertida.

Mas e quando múltiplos nodos estão envolvidos? Porexemplo, nodos com partes distintas dos dados (banco

de dados particionado)?

Page 37: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

COMMITCOMMIT EM DUAS FASES (2PC) EM DUAS FASES (2PC)Objetivo: garantir que ou todos os nodos fazemcommit, ou todos abortam a transaçãoRequer um novo componente da aplicação: ocoordenador ou gerenciador de transações

Pode ser parte do cliente ou um serviço separado

Page 38: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

2PC - ALGORITMO2PC - ALGORITMOA aplicação solicita ao coordenador uma transação.1. A aplicação escreve os dados, então solicita aocoordenador que faça commit da transação.

2.

O coordenador envia um aviso de preparação aosnodos envolvidos (participantes) na transação.

3.

O coordenador aguarda as respostas de todos osnodos participantes quanto a ser possível prosseguir.

4.

Caso todos indiquem ser possível o commit, umamensagem de commit é enviada. Do contrário, atransação é abortada.

5.

Page 39: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

2PC - EXEMPLO2PC - EXEMPLO

BD 1

BD 2

Coordenador

escrita de dados

ok

escrita de dados

ok

preparação

sim sim

lock

ok

commit

ok

lock

Exemplo de uma execução com sucesso do commit emduas fases

Page 40: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

2PC - PONTOS SEM VOLTA2PC - PONTOS SEM VOLTAUm nodo participante que responda Sim aocoordenador após uma solicitação de preparaçãogarante que pode fazer commit da transação (mesmoque o nodo venha a falhar);

1.

A decisão tomada pelo coordenador após a fase depreparação é imutável.

2.

Page 41: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

2PC - FALHA DO COORDENADOR2PC - FALHA DO COORDENADORCaso o coordenador falhe antes da fase de preparação,os participantes podem abortar a transaçãoCaso o coordenador falhe antes da fase de commit, osparticipantes devem aguardar a volta do coordenador

A transação é mantida em um estado indeciso até lá,sem ser abortada nem ser feito commitQuaisquer locks obtidos para a transação precisamser mantidos

Page 42: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

2PC - FALHA DO COORDENADOR2PC - FALHA DO COORDENADORCaso o coordenador não consiga decidir se deve

prosseguir uma transação (p.ex. se o log for perdido oucorrompido), as transações não-decididas se tornam

órfãs, requerendo intervenção manual.

Page 43: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

COMMITCOMMIT EM TRÊS FASES EM TRÊS FASES2PC tem no coordenador um ponto único de falha3PC introduz uma fase de pré-commit e timeouts deoperação

Uso de timeouts impede a garantia de atomicidade

Page 44: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

TRANSAÇÕES DISTRIBUÍDASTRANSAÇÕES DISTRIBUÍDASHETEROGÊNEASHETEROGÊNEAS

Transações distribuídas internas a um SGBD podemutilizar protocolos e otimizações específicos àquelatecnologiaTransações distribuídas envolvendo sistemas distintossão mais complicadas

Page 45: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

EXEMPLO: PROCESSAMENTOEXEMPLO: PROCESSAMENTOÚNICO DE MENSAGENSÚNICO DE MENSAGENS

Em uma mesma transação:

Marque a mensagem como processada na fila demensagensProcesse a mensagem

Requer que todos os sistemas envolvidos suportem2PC

Caso haja algum erro, a transação é abortada e oprocessamento revertido. Assim, garante-se que cada

mensagem é processada exatamente 1 vez.

Page 46: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

TRANSAÇÕES XATRANSAÇÕES XAX/Open eXtended ArchitectureEspecificação para 2PC sobre sistemas heterogêneos

Menor denominador comum: sem detecção dedeadlocks, sem suporte a isolamento por snapshotserializável…

API para interface com coordenadores de transaçãoPara uso por drivers ou bibliotecas

Page 47: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONSENSOCONSENSO

Page 48: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

DESCRIÇÃODESCRIÇÃOUm ou mais nodos propõem um valorO algoritmo de consenso garante que todos os nodosescolham um mesmo valor

Page 49: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

UTILIDADEUTILIDADEEleição de um líderCommit atômico de transação

Page 50: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

PROPRIEDADESPROPRIEDADESConcordância uniforme

Dois nodos quaisquer não tomam decisõesdiferentes.

IntegridadeNenhum nodo decide duas vezes.

ValidadeSe um nodo decide por um valor v, então v foiproposto por algum nodo.

TerminaçãoTodo nodo não-falho eventualmente decide poralgum valor.

Page 51: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

MODELO DE FALHASMODELO DE FALHASFalhas em nodos são assumidas crash-stop (o nodopara de responder) e permanentes (o nodo não serecupera)Pelo menos metade dos nodos devem estar emfuncionamento correto para garantia de terminação

Page 52: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONSENSO E CONSENSO E BROADCASTBROADCAST ATÔMICO ATÔMICOMuitas implementações de consenso decidem sobreuma sequência de valoresEsta sequência pode ser vista como uma ordem deentrega de mensagens:

Concordância ⇒ todos os nodos decidem entregarmensagens na mesma ordemIntegridade ⇒ mensagens não são duplicadasValidade ⇒ mensagens não são corrompidas ou“inventadas”Terminação ⇒ mensagens não são perdidas

∴ consenso ⇒ broadcast atômico

Page 53: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONSENSO E ELEIÇÃO DE LÍDERESCONSENSO E ELEIÇÃO DE LÍDERESEleição de um líder único requer consenso10. O algoritmo de consenso é um broadcast atômico11. Broadcast atômico é similar a replicação com líderúnico

12.

Replicação com líder único requer um líder13. GOTO 1014.

Page 54: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONSENSO E ELEIÇÃO DE LÍDERESCONSENSO E ELEIÇÃO DE LÍDERESCada eleição de líder recebe um número de época1. Quando o líder atual aparenta estar falho, uma novaeleição é realizada

2.

Para tomar uma decisão, o líder envia uma proposta eseu número de época aos outros nodos e aguarda asrespostas

3.

Um nodo responde a favor somente se não tiver vistoum líder com número de época maior

4.

Um quórum de nodos deve responder a favor paraconfirmar a decisão

5.

Page 55: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

LIMITAÇÕESLIMITAÇÕESSimilar à replicação síncronaRequer a maioria dos nodos não-falhosAssume (em geral) um conjunto estático de nodosparticipantesUtilizam (em geral) timeouts para detectar líderesfalhos

Page 56: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

ASSOCIAÇÃO EASSOCIAÇÃO ECOORDENAÇÃOCOORDENAÇÃO

Page 57: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

SERVIÇOS DE COORDENAÇÃOSERVIÇOS DE COORDENAÇÃOConcentram tarefas como consenso, ordenação, edetecção de falhasÚteis para delegação de consenso em sistemas commuitos nodos, sem reduzir a um único ponto de falha

Page 58: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

SERVIÇOS DE ASSOCIAÇÃOSERVIÇOS DE ASSOCIAÇÃODeterminam quais nodos estão ativos e emfuncionamentoCombinam detecção de falhas e consensoPodem declarar um nodo ativo como falho, mas sãoúteis mesmo assim

Page 59: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

SUMÁRIOSUMÁRIO

Page 60: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

CONCEITOSCONCEITOSLinearizabilidadeCausalidadeConsenso

Page 61: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

PROBLEMAS REDUTÍVEIS ÀPROBLEMAS REDUTÍVEIS ÀCONSENSOCONSENSO

Registradores CAS linearizáveisCommit atômicoBroadcast atômicoLocksServiços de cordenação e associaçãoRestrição de unicidade

Page 62: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

QUESTÕESQUESTÕES

Page 63: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

QUESTÃO 1QUESTÃO 1Atribua timestamps de Lamport e ordene as operações

identificadas por letras.

D E F G

A B

C

Usuário 3

BD 1

BD 2

Usuário 1

Usuário 2

Page 64: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa
Page 65: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

QUESTÃO 2QUESTÃO 2Explique a relação entre consenso, broadcast atômico, elinearizabilidade. Quais as consequências dessa relação?

Page 66: CONSISTÊNCIA E CONSENSO - inf.ufpr.br · O TEOREMA CAP Datacenter 1 Datacenter 2 quebra da rede Consistência OU disponibilidade quando particionado. ... Sistemas que respeitam essa

DÚVIDAS?DÚ[email protected]