Advertisement
Advertisement

More Related Content

Similar to 19-Sistemas Distribuidos.pptx(20)

Recently uploaded(20)

Advertisement

19-Sistemas Distribuidos.pptx

  1. Consistência e Replicação
  2. POSICIONAMENTO DO SERVIDOR DE RÉPLICAS • Onde, quando e por quem réplicas devem ser posicionadas? • Posicionar servidores de réplicas • É o posicionamento de hardware: encontrar as melhores localizações para colocar um servidor que pode hospedar depósito de dados (ou parte dele) • Posicionar conteúdo • É o posicionamento dos dados e softwares: encontrar o melhor servidor para colocar conteúdo.
  3. POSICIONAMENTO DO SERVIDOR DE RÉPLICAS • Análises das propriedades do cliente e da rede são úteis para se tomar decisões conscientes • Há vários modos de se calcular o melhor posicionamento de servidores de réplicas • No geral, é um problema de otimização que consiste em selecionar as melhores K de N localizações
  4. POSICIONAMENTO DO SERVIDOR DE RÉPLICAS Para selecionar as melhores K de N localizações • Podem ser usadas heurísticas baseadas na distância (latência, largura de banda) entre clientes e localizações • Ou pode-se ignorar posições de clientes considerando a Internet como um conjunto de Sistemas Autônomos (AS) • Rede no qual os nós executam o mesmo protocolo de roteamento, que é gerenciada por uma única organização • Consideram o maior AS e colocam um servidor no roteador com maior numero de enlaces • Os ASs são escolhidos em ordem de tamanho
  5. POSICIONAMENTO DO SERVIDOR DE RÉPLICAS O problema é que estes algoritmos são caros em termos de cálculo Alternativa: • Foi desenvolvido um método para identificar rapidamente uma região para o posicionamento do servidor de réplicas • As regiões são identificadas como um conjunto de nós que acessam o mesmo conteúdo, com uma latência baixa entre nós • Primeiramente, seleciona-se as regiões com o maior número de nós, e permite que um dos nós aja como Servidor de Réplicas • Funciona tão bem quanto os anteriores • Mais rápido
  6. GERENCIAMENTO DE RÉPLICAS Replicação e posicionamento de conteúdo • Após o posicionamento do servidor de réplicas, é preciso decidir sobre o posicionamento do conteúdo • Qual o melhor servidor para hospedar uma cópia de um depósito de dados • Podem se distinguir 3 tipos de réplicas organizadas logicamente: • Réplicas permanentes • Réplicas iniciadas por servidor • Réplicas iniciadas por cliente
  7. Réplicas permanentes: • Conjunto inicial de réplicas que constituem um depósito de dados distribuído • Número de réplicas permanentes normalmente é pequeno • Exemplo: Site Web • Arquivos que constituem um site são replicados para um número limitado de servidores que estão em uma única localização • Ou, site Web é copiado para um número limitado de servidores, sites espelhados, que estão geograficamente espalhados pela Internet
  8. Réplicas iniciadas por servidor • Cópias de um depósito de dados para aprimorar desempenho são criadas por iniciativa do (proprietário do) depósito de dados • Replicação ou migração de arquivos para proximidade de clientes que emitem muitas requisições • Exemplo: • Considere um servidor em NY. Pode acontecer uma rajada de requisições de uma localização inesperada, longe do servidor. • Neste caso, talvez seja vantajoso instalar uma quantidade de réplicas temporárias nas regiões de onde vem as requisições
  9. Réplicas iniciadas por cliente • São mais conhecidas como Cache na máquina do cliente • Recurso de armazenamento local, usado por um cliente para armazenar temporariamente uma cópia dos dados que ele acabou de requisitar • Caches são usadas para melhorar o tempo de acesso aos dados • Gerenciamento da cache cabe inteiramente ao cliente • O depósito de dados de onde os dados foram trazidos nada tem a ver com a manutenção da consistência dos dados em cache
  10. Réplicas iniciadas por cliente • Quando um cliente quer acessar alguns dados, se conecta com a cópia do depósito de dados mais próxima • Quando a maioria das operações envolve somente ler dados, o desempenho pode ser melhorado, dado que o cliente pode armazenar dados requisitados em uma cache mais próxima. • Cache pode estar localizada na máquina do cliente, ou em uma outra máquina separada dentro da mesma rede local • Dados são mantidos por um período limitado de tempo
  11. GERENCIAMENTO DE RÉPLICAS
  12. Distribuição de Conteúdo • O gerenciamento de réplicas também trata da propagação de conteúdo atualizado para servidores de réplicas relevantes, seguindo os compromissos: • Estado X Operações • Protocolos de recuperação de atualização X Protocolos de envio de atualizações
  13. Estado X Operações • Uma importante questão de projeto refere-se ao fato do que deve ser propagado: 1. Somente uma notificação de uma atualização 2. Transferir dados de uma cópia para outra 3. Propagar a operação de atualização para outras cópias
  14. Estado X Operações • Notificação de uma atualização • Realizadas por protocolos de invalidação • Cópias são informadas que uma atualização ocorreu e que os dados que elas contém não são mais válidos • Usam pouca largura de banda • Útil quando existe muita operação de atualização e pouca leitura • Dados não são propagados • Toda vez que é requisitada uma operação em uma cópia invalidada, em geral esta cópia precisa ser atualizada anteriormente, segundo o modelo de consistência
  15. Estado X Operações • Transferir Dados de Uma Cópia para Outra • Várias modificações empacotadas em uma única mensagem • Útil quando a taxa leitura/escrita é relativamente alta • A probabilidade de uma atualização ser realmente efetiva é grande • Os dados modificados devem ser lidos antes de ocorrer uma outra atualização sucessiva • O fato de haver um grande número de leituras faz com que os dados devam ser modificados antes de ocorrer a atualização seguinte
  16. Estado X Operações • Propagar a operação de atualização para outras cópias • Não transferir dados, mas informar a cada réplica qual operação de atualização ela deve realizar • São informados os parâmetros e informações necessárias para a operação de atualização • Esta abordagem é denominada replicação ativa • O principal benefício da replicação ativa é que as atualizações muitas vezes podem ser propagadas com custos mínimos de largura de banda • Pode ser que a réplica precise de maior capacidade de processamento
  17. Recuperação X Envio de Atualizações • Abordagem baseada em envio • Atualizações são propagadas para outras réplicas sem que essas réplicas tenham solicitado essas atualizações • Costumam ser usados entre réplicas permanentes e réplicas iniciadas por servidor, mas também podem ser usadas para enviar atualizações a caches de clientes • Usadas quando é necessário alto grau de consistência • Dados consistentes estão disponíveis imediatamente quando solicitados
  18. Recuperação X Envio de Atualizações • Abordagem baseada em recuperação de atualizações • Um servidor ou cliente requisita que um outro servidor lhe envie quaisquer atualizações que ele tiver no momento em questão • Comumente usado por caches de clientes • Cliente sonda o servidor para ver se é necessária uma atualização
Advertisement