25
© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM Arquitecturas de Sistemas Distribuídos Quinta-feira, 8 de Novembro de 12

Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Arquitecturas de Sistemas

Distribuídos

Quinta-feira, 8 de Novembro de 12

Page 2: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Arquitectura

• A arquitectura de um sistema distribuído define:

• A localização dos componentes de software nos nós da rede

• As relações e os padrões de comunicação entre eles

Quinta-feira, 8 de Novembro de 12

Page 3: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Camadas de Abstracção

• Como se estrutura o software dentro de cada nó?

Quinta-feira, 8 de Novembro de 12

Page 4: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Sistema Operativo

Quinta-feira, 8 de Novembro de 12

Page 5: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Sistema Operativo

Hardware

Hardware

Hardware

Hardware: Programação de registos, barramentos, interrupções, ...

Quinta-feira, 8 de Novembro de 12

Page 6: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Sistema Operativo

Hardware

Hardware

Hardware

Hardware: Programação de registos, barramentos, interrupções, ...

Aplicação:Interface com o utilizador

Aplicações

Aplicações

Aplicações

Quinta-feira, 8 de Novembro de 12

Page 7: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Sistema Operativo

Hardware

Hardware

Hardware

S. O.Distribuído

S. O.Distribuído

S. O.Distribuído

Hardware: Programação de registos, barramentos, interrupções, ...

Sistema Operativo Distribuído:• Sistema de ficheiros

distribuído,• multi-processamento

distribuído • transparente, ...

Aplicação:Interface com o utilizador

Aplicações

Aplicações

Aplicações

Quinta-feira, 8 de Novembro de 12

Page 8: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

S.O. de rede + Middleware

Quinta-feira, 8 de Novembro de 12

Page 9: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

S.O. de rede + Middleware

Hardware: Programação de registos, barramentos, interrupções, ...

Hardware

Hardware

Hardware

Quinta-feira, 8 de Novembro de 12

Page 10: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

S.O. de rede + Middleware

Hardware: Programação de registos, barramentos, interrupções, ...

Aplicação:Interface com o utilizador

Hardware

Hardware

Hardware

Aplicações

Aplicações

Aplicações

Quinta-feira, 8 de Novembro de 12

Page 11: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

S.O. de rede + Middleware

Hardware: Programação de registos, barramentos, interrupções, ...

Sistema Operativo:Ficheiros, sockets, processos, ...

Aplicação:Interface com o utilizador

Hardware

Hardware

Hardware

S. O.

S. O.

S. O.

Aplicações

Aplicações

Aplicações

Quinta-feira, 8 de Novembro de 12

Page 12: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

S.O. de rede + Middleware

Hardware: Programação de registos, barramentos, interrupções, ...

Sistema Operativo:Ficheiros, sockets, processos, ...

Aplicação:Interface com o utilizador

Hardware

Hardware

Hardware

S. O.

S. O.

S. O.

Aplicações

Aplicações

Aplicações

Middleware

Middleware

Middleware

Middleware:Objectos distribuídos, filas de mensagens persistentes, ...

Quinta-feira, 8 de Novembro de 12

Page 13: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Distribuição

• Como se relacionam os diferentes nós?

Quinta-feira, 8 de Novembro de 12

Page 14: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Cliente/Servidor

• Exemplo:

• World WideWeb

• O Cliente inicia interacção

• O Servidor presta um conjunto de serviços definidos por uma interface

Rede

Resposta

Pedido

Quinta-feira, 8 de Novembro de 12

Page 15: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

P2P

• Exemplo:

• Partilha de ficheiros

• Qualquer dos participantes pode iniciar a interacção

• A troca de mensagens pode obedecer ao padrão cliente/servidor, mas todos prestam o mesmo serviço

RedeMensagem

Mensagem

Mensa

gemMensagem

Quinta-feira, 8 de Novembro de 12

Page 16: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Callback

• Exemplo:

• Autenticação na WWW

• O Cliente inicia a interacção

• O Servidor pede informação adicional para conseguir prestar o serviço

Rede

Resposta

PedidoPedido

Resposta

Quinta-feira, 8 de Novembro de 12

Page 17: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Multi-Servidor• Alternativas:

• Cada um dos servidores presta um serviço distinto

• Todos os servidores prestam o mesmo serviço

• No segundo caso, o pedido pode ser automaticamente encaminhado para um dos servidores

RedeResposta

Pedido

Pedido

Resposta

Quinta-feira, 8 de Novembro de 12

Page 18: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Multi-Camada (multi-tier)

• Exemplo:

• Application servers

• Cada servidor é por sua vez cliente de um serviço distinto

• 3-tier: separação de apresentação, regras de processamento (negócio) e armazenamento dos dados

Rede

Resposta

Pedido

Pedido

Resposta

Quinta-feira, 8 de Novembro de 12

Page 19: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Proxy+Cache

• Exemplo:

• Web Proxies

• O servidor intermédio recorda pares pedido/resposta anteriores

• No caso de pedidos repetidos, repete a resposta sem contactar o servidor original

Rede

Resposta

Pedido

PedidoResposta

HTTP

HTTP

Quinta-feira, 8 de Novembro de 12

Page 20: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Factores

• Quais os principais factores de decisão de uma arquitectura?

Quinta-feira, 8 de Novembro de 12

Page 21: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Desempenho• Latência: Duração de cada

pedido

• Débito: Número de pedidos processados numa unidade de tempo

• Exemplo:

• Latência média: (30+29+25)/3=28ms

• Débito: 1/0.010=100s-1

Cliente

Cliente

Servidor

30 ms 29ms

25 ms

10 ms

Quinta-feira, 8 de Novembro de 12

Page 22: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Compromissos de • Os dois factores de

desempenho são contraditórios

• Para melhorar um deles tem que se piorar o outro

• É possível aumentar ambos apenas com um maior custo

Latência

CustoDébito

Quinta-feira, 8 de Novembro de 12

Page 23: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Confiabilidade e Segurança

• A confiabilidade de um sistema (dependability) implica disponibilidade e fiabilidade na presença de avarias

• A segurança de um sistema depende da sua disponibilidade e fiabilidade na presença de ataques

• Medidas:

• Security+Dependability=Survivability

• Performance+Dependability=Performability

Quinta-feira, 8 de Novembro de 12

Page 24: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Qualidade de Serviço• Service Level Objective (SLO):

• Limite máximo de latência

• Limite mínimo de transacções com sucesso num intervalo de tempo

• ...

• Service Level Agreement (SLA):

• Contrato com um prestador de serviço que enumera SLOs e penalizações do seu incumprimento

Quinta-feira, 8 de Novembro de 12

Page 25: Arquitecturas de Sistemas Distribuídos · Programação de registos, barramentos, interrupções, ... Sistema Operativo Distribuído: •Sistema de ficheiros distribuído, •multi-processamento

© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM

Conclusões

• Escolhas mais comuns:

• Middleware

• Cliente/Servidor

• Múltiplas variantes de cliente/servidor permitem optimizar o sistema para diferentes parâmetros

Quinta-feira, 8 de Novembro de 12