sistemas distribuídos - aula 02
DESCRIPTION
Modelos de sistemas distribuídosTRANSCRIPT
![Page 1: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/1.jpg)
1
SISTEMAS DISTRIBUÍDOS
MODELOS DE SISTEMA
ARTHUR EMANUEL DE OLIVEIRA CAROSIA
![Page 2: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/2.jpg)
2
INTRODUÇÃO
![Page 3: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/3.jpg)
3
INTRODUÇÃO
Um modelo de arquitetura de um sistema distribuído:
• Define a forma pelo qual os componentes do sistema:
• interagem;
![Page 4: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/4.jpg)
4
INTRODUÇÃO
Um modelo de arquitetura de um sistema distribuído:
• Define a forma pelo qual os componentes do sistema:
• interagem; • são mapeados em uma rede de computadores.
![Page 5: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/5.jpg)
5
INTRODUÇÃO
Um modelo de arquitetura de um sistema distribuído:
• Define a forma pelo qual os componentes do sistema:
• interagem; • são mapeados em uma rede de computadores.
Exemplos incluem:
cliente-servidor
![Page 6: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/6.jpg)
6
INTRODUÇÃO
Um modelo de arquitetura de um sistema distribuído:
• Define a forma pelo qual os componentes do sistema:
• interagem; • são mapeados em uma rede de computadores.
Exemplos incluem:
cliente-servidor
peer-to-peer.
![Page 7: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/7.jpg)
7
CONSIDERAÇÕES
Em um sistema distribuído:
• Não existe a noção de relógio global.
Toda comunicação entre processos pode sofrer:
• atrasos;
• variedade de falhas; e
• ser vulnerável a ataques de segurança.
![Page 8: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/8.jpg)
8
MODELOS DE ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS
![Page 9: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/9.jpg)
9
MODELOS DE ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS
Deve-se considerar:
• O posicionamento dos componentes em uma rede de computadores.
• Os inter-relacionamentos entre componentes.
![Page 10: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/10.jpg)
10
CAMADAS DE SOFTWARE
![Page 11: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/11.jpg)
11
CAMADAS DE SOFTWARE
![Page 12: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/12.jpg)
12
CAMADAS DE SOFTWAREPlataforma
• Camadas de hardware e software de mais baixo nível.
• Oferecem uma interface de programação do sistema a um nível que facilita a comunicação e coordenação entre processos.
![Page 13: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/13.jpg)
13
CAMADAS DE SOFTWAREMiddleware• Camada de software cujo objetivo é mascarar a heterogeneidade e fornecer
um modelo de programação conveniente. • Implementa a comunicação e oferecendo suporte para compartilhamento de
recursos a aplicativos distribuídos. • Ex: CORBA, JAVA RMI e Web Services.
![Page 14: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/14.jpg)
14
ARQUITETURAS DISTRIBUÍDAS
![Page 15: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/15.jpg)
15
ARQUITETURAS DISTRIBUÍDAS• Arquitetura cliente-servidor
• Arquitetura peer-to-peer
![Page 16: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/16.jpg)
16
ARQUITETURA CLIENTE-SERVIDOR
![Page 17: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/17.jpg)
17
ARQUITETURA CLIENTE-SERVIDOR• Arquitetura mais estudada e amplamente empregada.
• Processos clientes interagem com processos servidores para acessar os recursos compartilhados que estes gerenciam.
• Existe a possibilidade de um servidor pode ser cliente de outro servidor.
![Page 18: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/18.jpg)
18
ARQUITETURA CLIENTE-SERVIDOR
![Page 19: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/19.jpg)
19
ARQUITETURA PEER-TO-PEER
![Page 20: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/20.jpg)
20
ARQUITETURA PEER-TO-PEER• O modelo cliente-servidor não é flexível em termos de
escalabilidade:
• centraliza o fornecimento de serviços
Peer-to-peer
• processos desempenham funções semelhantes, interagindo cooperativamente como pares (peers)
• sem distinção entre processos clientes e servidores.
O padrão de comunicação entre os peers depende do que do objetivo da aplicação.
![Page 21: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/21.jpg)
21
ARQUITETURA PEER-TO-PEER
![Page 22: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/22.jpg)
22
REQUISITOS DE PROJETOS PARA ARQUITETURAS DISTRIBUÍDAS
![Page 23: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/23.jpg)
23
REQUISITOS DE PROJETOS PARA ARQUITETURAS DISTRIBUÍDAS• O compartilhamento eficiente de dados em larga escala é
um importante desafio.
• Com a alteração dos dados, a possibilidade de atualizações concorrentes e conflitantes aumenta.
![Page 24: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/24.jpg)
24
REQUISITOS DE PROJETOS PARA ARQUITETURAS DISTRIBUÍDASProblemas de desempenho
• São os desafios advindos da distribuição de recursos.
![Page 25: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/25.jpg)
25
PROBLEMAS DE DESEMPENHO
Reatividade:
os usuários exigem resposta rápida e consistente, mas os programas clientes acessam recursos compartilhados, o que introduz atraso de processamento.
Taxa de rendimento (throughput):
velocidade com que o trabalho computacional é feito.
Balanceamento de carga computacional:
aplicativos e processos de serviço devem prosseguir concomitantemente, sem disputar os mesmos recursos.
![Page 26: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/26.jpg)
26
PROBLEMAS DE DESEMPENHOUso de cache:
melhorar o desempenho em sistemas distribuídos no instante em que o cliente faz uma requisição a um servidor.
Tolerância a falhas:
desejável que as aplicações continuem a funcionar corretamente na presença de falhas no hardware, software e comunicação.
Segurança:
armazenamento de dados sigilosos em sistemas distribuídos está intimamente ligado com a necessidade de segurança contra ataques.
![Page 27: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/27.jpg)
27
MODELOS FUNDAMENTAIS
Um modelo deve responder ás seguintes questões:
• Como são as principais entidades do sistema?
• Como elas interagem?
• Quais as características que afetam seu comportamento individual e coletivo?
![Page 28: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/28.jpg)
28
MODELOS FUNDAMENTAIS• Modelo de interação;
• Modelo de falha;
• Modelo de segurança;
![Page 29: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/29.jpg)
29
MODELO DE INTERAÇÃO
Interação entre processos ocorre com o uso de troca de mensagens.
O modelo de interação deve considerar que ocorrem atrasos e isso pode limitar a coordenação dos processos.
Envio de mensagens Síncrono vs Assíncrono
![Page 30: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/30.jpg)
30
MODELO DE INTERAÇÃO
Sistema Distribuído Síncrono
• Tempo de cada etapa de um processo tem valores conhecidos;
• Mensagens: são recebidas dentro de um tempo limitado, conhecido;
• Relógio local: taxa de desvio do tempo real conhecido.
Sistema cujas restrições são difíceis de atingir.
Serve para simplificar a modelagem de um sistema real.
:
![Page 31: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/31.jpg)
31
MODELO DE INTERAÇÃO
Sistema Distribuído Assíncrono:
Não possui considerações sobre:
• Velocidades de execução dos processos.
• Atrasos na transmissão das mensagens.
• Taxas de desvio do relógio.
Difícil determinar a ordenação dos eventos em um sistema real.
![Page 32: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/32.jpg)
32
MODELO DE INTERAÇÃOSistema Distribuído Assíncrono
Exemplo: sistema de troca de mensagens
![Page 33: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/33.jpg)
33
MODELO DE INTERAÇÃOSistema Distribuído Assíncrono
Exemplo: sistema de troca de mensagens
![Page 34: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/34.jpg)
34
MODELO DE FALHAS
A operação correta de um sistema distribuído é ameaçada quando ocorre uma falha em qualquer um dos computadores que ele é executado ou na rede que os interliga.
O modelo de falhas define e classifica as falhas para que os sistemas projetados sejam capazes de:
• tolerar certos tipos de falhas e • continuar funcionando corretamente.
![Page 35: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/35.jpg)
35
MODELO DE FALHAS
É possível construir serviços confiáveis a partir de componentes que exibem falhas.
O conhecimento das características da falha de um componente pode permitir que um novo serviço seja projetado de forma a mascarar a falha dos componentes dos quais depende.
![Page 36: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/36.jpg)
36
MODELO DE FALHAS
Falha por omissão de processo:
Acontece quando o processo entra em colapso, parando e não executando o outro passo de seu programa.
Indicador:
Timeout
![Page 37: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/37.jpg)
37
MODELO DE FALHAS
Falha por omissão de processo
Sistema assíncrono:
• o processo pode ter entrado em colapso;• estar lento;• as mensagens podem não ter chegado;
Sistema síncrono
• processos deixaram de responder a mensagens sabidamente entregues.
![Page 38: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/38.jpg)
38
MODELO DE FALHAS
Na falha de omissão por comunicação
Canal de comunicação não concretiza a transferência de uma mensagem do buffer de envio de para o buffer de recepção.
• Falta de espaço no buffer de recepção
• Perda de mensagens
![Page 39: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/39.jpg)
39
MODELO DE SEGURANÇA
A natureza modular dos sistemas distribuídos os expõe a ataques de agentes externos e internos.
O modelo de segurança define e classifica as formas que os ataques podem assumir, dando uma base para a análise de possíveis ameaças a um sistema e guiar o desenvolvimento de sistemas capazes de resistir a eles.
![Page 40: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/40.jpg)
40
MODELO DE SEGURANÇA
Precisam de segurança:
• Processos• Vulnerabilidades
• Canais usados para envio de mensagens• Sniffers
• Objetos que podem ser acessados remotamente• Uso não autorizado
![Page 41: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/41.jpg)
41
MODELO DE SEGURANÇA
![Page 42: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/42.jpg)
42
MODELO DE SEGURANÇA
Processos interagem trocando mensagens
• as mensagens ficam expostas a ataques na rede.
Invasor
• atacante capaz de enviar mensagem para qualquer processo e ler ou copiar qualquer mensagem entre dois processos.
![Page 43: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/43.jpg)
43
MODELO DE SEGURANÇAOs ataques podem ser realizados por um computador conectado a uma rede para executar um programa que lê as mensagens ou por programas que gerem mensagens que façam falsos pedidos para serviços e deem a entender que sejam provenientes de usuários autorizados.
![Page 44: Sistemas Distribuídos - Aula 02](https://reader033.vdocuments.pub/reader033/viewer/2022061210/549114dfb4795946648b468f/html5/thumbnails/44.jpg)
44
SISTEMAS DISTRIBUÍDOS
MODELOS DE SISTEMA
ARTHUR EMANUEL DE OLIVEIRA CAROSIA