Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitetura de Sistemas Distribuídos e Estilos Arquitetônicos
Arquitetura de Sistemas Distribuídos e Estilos Arquitetônicos
distribuídos e estilos
arquitetônicos
Profª Vanice Canuto Cunha
Sistemas Distribuídos – UFMT - IC
Sumário
Estilos Arquitetônicos
Arquitetura de Sistemas
Arquiteturas e Middleware
Autogerenciamento em SDs
Questões de Projeto de Aplicações Servidoras
Estilos Arquitetônicos
Arquiteturas em Camadas
Ideia Básica: um componente na camada Li tem permissão de chamar
componentes na camada subjacente Li−1
Estilos Arquitetônicos
Dúvidas
Como diversos sistemas distribuídos são realmente organizados?
Onde são colocados os componentes de software?
Como é estabelecida a interação entre os componentes de software?
Arquiteturas de sistemas
Arquiteturas Descentralizadas
Peer-to-peer (P2P): Chord
Arquiteturas Híbridas
Peer-to-peer (P2P): BitTorrent, PPLive
Arquiteturas Centralizadas
Modelo Cliente-Servidor
Processos são divididos em dois grupos (possível sobreposição)
Servidor: processo que implementa um serviço específico
Cliente: processo que requisita um serviço ao servidor.
Requisição Resposta
Modelo Cliente-Servidor
Modelo Cliente-Servidor
Comunicação Cliente-Servidor
• Algoritmos aleatórios
• Cada peer possui uma
lista de vizinhos (visão
parcial)
• Para encontrar dados,
inundar a rede (no pior
caso)
• Importante atualizar a
lista de vizinhos. Mas
como?
Arquiteturas Descentralizadas -
Arquiteturas P2P Não-Estruturadas
Um dos problemas: como encontrar os dados de maneira eficiente
Muitos sistemas utilizam nós especiais, que possuem um índice de itens de
dados -> Superpeers
Como associar peers comuns a estes superpeers?
Como escolher estes peers?
Arquiteturas Descentralizadas -
Arquiteturas P2P Não-Estruturadas
Arquiteturas Descentralizadas -
Arquiteturas P2P Híbridas
Arquiteturas Descentralizadas -
Arquiteturas P2P Híbridas
Arquiteturas × Middleware
Mantendo Estado:
O servidor mantêm informações persistentes sobre seus clientes;
Exemplo: um servidor de arquivo que sabe quais clientes possuem quais
arquivos abertos;
Normalmente leva a um melhor desempenho na execução das
operações disponibilizadas;
Em caso de falha, deve-se recurar o estado do servidor
Resumo da aula