Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM
Arquitecturas de Sistemas
Distribuídos
Quinta-feira, 8 de Novembro de 12
© 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
© 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
© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM
Sistema Operativo
Quinta-feira, 8 de Novembro de 12
© 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
© 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
© 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
© António Sousa 2007-2011 Sistemas Distribuídos - MIEBIOM
S.O. de rede + Middleware
Quinta-feira, 8 de Novembro de 12
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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