sistemas distribuÍdos - uffsimone/sd/contaulas/aula4.pdfsistemas distribuídos onde soluções...
TRANSCRIPT
SISTEMAS DISTRIBUÍDOSARQUITETURAS
Slides cedidos pela Professora Aline Nascimento
ARQUITETURAS DE SISTEMAS
A arquitetura cliente-servidor multidividida é um exemplo de
distribuição vertical
Distribuição Vertical
Divide componentes logicamente diferentes em máquinas
diferentes
Funções são divididas logicamente por máquinas, sendo uma
máquina projetada para um grupo de funções
Pode ajudar na perspectiva de gerenciamento do sistema
ARQUITETURAS DE SISTEMAS
Arquiteturas peer-to-peer são um exemplo da distribuição
horizontal
Distribuição horizontal
Um cliente ou servidor pode ser subdividido em partes
logicamente equivalentes, mas cada parte está operando em
sua própria porção do conjunto de dados equilibrando a
carga.
Grande parte da interação entre processos é simétrica
Cada processo agirá como servidor e cliente ao mesmo tempo
QUESTÃO 3
Qual é a diferença entre uma distribuição vertical e uma
distribuição horizontal?
RESPOSTA
A distribuição vertical refere-se à distribuição das diferentes
camadas de uma arquitetura multicamadas através de
múltiplas máquinas. Em princípio, cada camada é
implementada em uma máquina diferente.
A distribuição horizontal lida com a distribuição de uma
única camada através de múltiplas máquinas, como a
distribuição de um único banco de dados.
ARQUITETURAS DESCENTRALIZADAS
Peer-toPeer
Devido ao comportamento simétrico arquiteturas P2P se
dividem pela forma de organizar os processos em uma rede de
sobreposição.
Rede de sobreposição: rede na qual os nós são os processos e
os enlaces representam os canais de comunicação possíveis
Processos não se comunicam diretamente e sim por meio dos
canais de comunicação disponíveis.
Existem 2 tipos de redes de sobreposição: Estruturadas e Não
estruturadas
PEER TO PEER ESTRUTURADAS
A rede de sobreposição é construída com a utilização de um
procedimento determinístico.
Os processos são organizados por meio de uma Tabela
Hash Distribuída
Itens de Dados e Nós recebem uma chave aleatória.
Ao consultar um determinado item de dado, o endereço de rede
do nó com o conteúdo é retornado
Ponto crucial é mapear exclusivamente a chave de um Item de
Dado para um Identificador de Nó, tendo somente alguma
distância métrica.
PEER TO PEER ESTRUTURADAS
Exemplo simples: Hipercubo
PEER TO PEER ESTRUTURADAS
Exemplo: Sistema Chord
Os nós são ligados logicamente em anel
Um item de dado com chave k é mapeado para o nó que tenha
o menor Id ≥ k.
Esse nó é denominado sucessor da chave k e denotado como
succ(k).
Uma aplicação executando em um nó arbitrário, para consultar
o item de dado teria de chamar LOOKUP(K), que retornaria o
endereço de rede de succ(k).
PEER TO PEER ESTRUTURADAS
Sistema Chord
PEER TO PEER ESTRUTURADAS
Novo Nó no Sistema Chord
Gera um identificador aleatório para o nó
Com um bom gerador aleatório a chance de gerar um id em uso
é quase zero.
Nó faz pesquisa por id, retornando succ(id).
Nó contacta seu sucessor e seu predecessor e se insere no
anel.
Cada item de dado que está associado ao id deve ser
transferido para o novo nó de succ(id) .
PEER TO PEER ESTRUTURADAS
Saída do Nó no Sistema Chord
Nó informa sua partida ao seu predecessor e sucessor
Transfere seus itens de dados para succ(id).
QUESTÃO 5
Em uma rede de sobreposição estruturada, as mensagens
são encaminhadas de acordo com a topologia da
sobreposição.
Cite uma importante desvantagem desta abordagem?
RESPOSTA
O problema é que estamos lidando apenas com caminhos
lógicos. Pode muito bem ser o caso de que dois nós A e B,
que são vizinhos na sobreposição da rede, sejam colocados
fisicamente distantes. Como consequência, o caminho
logicamente curto entre A e B podem requerer
encaminhamento de uma mensagem por um caminho muito
longo na rede física subjacente.
PEER TO PEER NÃO ESTRUTURADAS
Redes de sobreposição não-estruturadas
Dependem de algoritmos aleatórios para a construção da rede
de sobreposição
Cada nó mantém uma lista de vizinhos construída de forma
aleatória.
Itens de dados são colocados aleatoriamente nos nós.
Consulta de um dado é feita através de inundação da rede ou
caminhada aleatória
PEER TO PEER NÃO ESTRUTURADAS
Para um nó se juntar ao grupo
Contacta um outro nó arbitrário, de uma lista de pontos de acesso bem
conhecidos.
Esse pontos de acesso são membros comuns, exceto que podemos
considerar que ele tem alta disponibilidade.
Para abandonar a rede
Como os nós trocam visões parciais frequentemente, basta sair sem
informar nada.
Se um nó contactar um nó que não está respondendo, ele vai apenas
remover a entrada na sua visão parcial e contactar outro nó.
SUPERPEERS
Inundar a rede para encontrar um item de dado em sistemas
peer-to-peer não estruturados pode ser um problema a
medida que a rede cresce
Podem ser usados nós especiais que mantêm um índice de
itens de dados, a fim de facilitar a localização dos mesmos
Estes nós são chamados SuperPares (SuperPeers)
Os superpares também são organizados em uma rede peer-
to-peer resultando em uma organização hierárquica
SUPERPEERS
SUPERPEERS
Sempre que um nó comum se junta a rede, ele se liga a um
dos superpares
Toda comunicação de e para um par comum ocorre por
meio daquele superpar associado
Em muitos casos, a relação cliente-superpar é fixa
Nem sempre é uma boa solução!
Uma alternativa é permitir que a relação cliente-superpar mude
a medida que clientes descubram superpares melhores para se
associar
QUESTÃO 10
Nem todo nó de uma rede P2P deve tornar-se superpar.
Quais são os requisitos razoáveis que um superpar deve
ter? Como selecionar um superpar?
RESPOSTA
Em primeiro lugar, o nó deve ser altamente disponível, uma
vez que muitos outros nós contarão com ele. Além disso,
deve ter capacidade suficiente para processar as
requisições. O mais importante talvez seja o fato de que ele
deva ser confiável para fazer bem o seu trabalho.
ARQUITETURAS HÍBRIDAS
Sistemas distribuídos onde soluções cliente-servidor são
combinadas com arquiteturas descentralizadas
Uma ideia é que o modelo cliente-servidor é utilizado para os
nós se conectarem ao sistema, depois utilizam esquema
descentralizado.
Exemplos
Sistemas de servidor de borda (Internet)
Sistemas Distribuídos Colaborativos
ARQUITETURAS HÍBRIDAS
Sistemas de Servidor de Borda
Sistemas disponibilizados na Internet onde os servidores são
colocados na borda da rede
Esta borda é formada pela fronteira entre redes corporativas e a
Internet propriamente dita, como fornecido por um provedor de
serviço de Internet (ISP).
Servem conteúdo e otimizam distribuição de conteúdo e de
aplicação
Usuários finais, ou clientes em geral, se conectam com a internet
por meio de um servidor de borda
ARQUITETURAS HÍBRIDAS
Sistemas de servidor de borda
ARQUITETURAS HÍBRIDAS
Sistemas Distribuídos Colaborativos
O principal objetivo é iniciar a troca de informações
Após a adição do nó na rede, a distribuição dos dados é feita
de forma descentralizada
Exemplo: BitTorrent
Transfere porções do arquivo de outros usuários até que as porções
transferidas possam ser montadas em conjunto, resultando no
arquivo completo
Importante garantir a colaboração
ARQUITETURAS HÍBRIDAS
BitTorrent
Um usuário acessa um diretório global que contém um arquivo
.torrent, o qual contém as informações necessárias para
transferir um ou mais arquivos específicos
O arquivo se refere a algo conhecido como rastreador.
Rastreador é o servidor que mantém uma contabilização precisa de nós
ativos que tem o arquivo requisitado, ou porções dele.
Após a identificação dos nós e suas porções de arquivos, o nó
que está transferindo se torna efetivamente ativo, sendo
forçado a auxiliar os outros, garantindo a colaboração.