26
SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

SISTEMAS DISTRIBUÍDOSARQUITETURAS

Slides cedidos pela Professora Aline Nascimento

Page 2: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 3: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 4: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

QUESTÃO 3

Qual é a diferença entre uma distribuição vertical e uma

distribuição horizontal?

Page 5: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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.

Page 6: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 7: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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.

Page 8: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

PEER TO PEER ESTRUTURADAS

Exemplo simples: Hipercubo

Page 9: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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).

Page 10: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

PEER TO PEER ESTRUTURADAS

Sistema Chord

Page 11: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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) .

Page 12: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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).

Page 13: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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?

Page 14: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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.

Page 15: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 16: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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ó.

Page 17: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 18: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

SUPERPEERS

Page 19: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 20: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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?

Page 21: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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.

Page 22: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 23: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 24: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

ARQUITETURAS HÍBRIDAS

Sistemas de servidor de borda

Page 25: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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

Page 26: SISTEMAS DISTRIBUÍDOS - UFFsimone/sd/contaulas/aula4.pdfSistemas distribuídos onde soluções cliente-servidor são combinadas com arquiteturas descentralizadas Uma ideia é que

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.