0% acharam este documento útil (0 voto)
22 visualizações21 páginas

Arquiteturas de Sistemas Distribuídos

Enviado por

avjr
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
22 visualizações21 páginas

Arquiteturas de Sistemas Distribuídos

Enviado por

avjr
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Sistemas Distribuídos

Prof. Dr. José R. Torres Neto


2.
Estilos Arquitetônicos

2
Estilo arquitetônico
Estilo arquitetônico é determinado por:

◎ Componentes: unidade com interfaces requeridas e fornecidas bem definidas


que é substituível dentro de seu ambiente

◎ Conexões: o modo como os componentes estão ligados

◎ Dados intercambiados: forma da troca dos dados entre componentes

◎ Formas de configuração: maneiras como os componentes são configurados

3
Arquiteturas

a) Arquiteturas em camadas b) Arquiteturas baseadas em objetos


◎ Componentes/objetos conectados por
◎ Componentes interagindo uma chamada de procedimento
hierarquicamente entre remoto
camadas

4
Arquiteturas de Sistemas

Arquiteturas baseadas em eventos Arquiteturas centrada em dados

◎ Publish/Subscibe: componentes ◎ Componentes utilizam um


publicam eventos para seus repositório de compartilhamento
assinantes de dados

5
Arquiteturas centralizadas

MODELO CLIENTE-SERVIDOR
Processos são divididos em dois grupos:
o Servidor: processo que implementa um
serviço específico.
o Cliente: processo que requisita um
serviço ao servidor.

Forma de interação: requisição-resposta

6
Arquiteturas centralizadas

ARQUITETURA MODELO CLIENTE-SERVIDOR

Vantagens da arquitetura cliente-servidor:


Centralização do controle, gerenciamento
eficiente de recursos.

Desvantagens da arquitetura cliente-servidor:


Dependência do servidor, possível sobrecarga de
comunicação.

7
Arquiteturas centralizadas

ARQUITETURA DE CAMADAS DE APLICAÇÃO


Modularidade, abstração,
facilidade de desenvolvimento e manutenção.

À respeito de muitas aplicações e escalabilidade:


o Nível de interface de usuário
o Nível de processamento
o Nível de dados

8
Arquiteturas centralizadas

ARQUITETURA DE CAMADAS DE APLICAÇÃO

o Nível de interface de usuário

Tudo que é necessário para realizar a


interação do usuário com a aplicação.

9
Arquiteturas centralizadas

ARQUITETURA DE CAMADAS DE APLICAÇÃO

o Nível de processamento

Conjunto relativamente grande de


programas, cada um com capacidades de
processamento bastante simples.

10
Arquiteturas centralizadas

ARQUITETURA DE CAMADAS DE APLICAÇÃO

o Nível de dados

programas que mantêm os dados


propriamente ditos (persistentes) sobre os
quais as aplicações agem em suas operações.

11
Arquiteturas centralizadas

ARQUITETURA MULTIDIVIDIDAS
Da perspectiva de Gerenciamento de Sistema:
o Clientes gordos (fat clients)
o Clientes magros (thin clients)

Arquitetura de duas divisões (físicas):


o A máquina cliente
o A máquina servidora

12
Arquiteturas centralizadas

ARQUITETURA MULTIDIVIDIDAS
Da perspectiva de Gerenciamento de Sistema:
o Clientes gordos (fat clients)
o Clientes magros (thin clients)

Arquitetura de três divisões (físicas):


o A máquina cliente
o Servidor de aplicação
o A máquina servidora

13
Arquiteturas multidivididas

Distribuição Vertical
Aplicações divididas em uma interface de
usuário em:
o Componentes de processamento
o Nível de dados

Ø Componentes logicamente diferentes


em máquinas diferentes
Ø Funções subdivididas lógica e
fisicamente por várias máquinas
Ø Cada máquina é projetada para um
conjunto específico de funções

14
Arquiteturas descentralizadas

Distribuição Horizontal

o Cliente e Servidor são subdivididos em partes


logicamente equivalentes
o Cada parte parte opera em sua propria porção do
conjunto de dados (equilíbrio da carga)
o Papeis não são bem definidos
o Autonomia e capacidade de adaptação dos nós na
rede

Ex: Peer-to-peer (P2P)

15
Arquiteturas descentralizadas:

Peer-to-peer

o Processos são todos iguais


o Servente: cada processo age como cliente e servidor ao
mesmo tempo
o O cliente inicia a requisição
o Redes de sobreposição: rede onde os nós são formados
pelos processos e os enlaces denotam os canais de
comunicação
Ø Arquiteturas estuturadas e não estruturadas

16
Arquiteturas Peer-to-peer

Estruturada

o Rede de sobreposição é construída usando um procedimento de determinísticoformados pelos


processos
o DHT – Distributed Hash Table (tabela de hash distribuída): procedimento mais usado para
organizar processos
Ø Dados e nós recebem uma chave aleatória (id 128 ~ 160 bits)
ØDada uma chave de um dado, deve-se mapear o dado para o identificador de um nó
ØRequisição é roteada entre os nós da rede até o alcançar o nó com o dado solicitado
ØQuando um nó entra na rede, ele recebe um espaço do conjunto de índices dos arquivos.
Quando o nó sai da rede, ele libera o espaço designando os índices para outro nó.

17
Arquiteturas Peer-to-peer

Estruturada – mecanismo de Chord

o Nós organizados logicamente na topologia anel


o Cada nó possuir um identificador

18
Arquiteturas Peer-to-peer

Não-estruturada

o Algoritmos que utilizam mecanismos aleatórios para construção da sobreposição de rede


o Cada nó mantém uma lista dos nós vizinhos
o Dados armazenados aleatoriamente
o Busca por inundação (flooding): tempestade de broadcast

19
Arquiteturas Peer-to-peer

Super pares

o Nós com vida longa e de alta disponibilidade


(“gateway”)
o Desafio quando a rede cresce
o Nós diretórios
o Quando um nó se junta a rede, ele entra no
grupo de um líder
o Como eleger um líder?

20
Arquiteturas híbridas

Soluções cliente-servidor combinadas como uma arquitetura descentralizada


Centralizada + Descentralizada

Centralizada: Servidor de diretório


Descentralizada: Distribuição de
conteúdo. (Skype, Bittorrent, WhatsApp)

21

Você também pode gostar