Kategorier: Alla - desempenho - arquitetura - segurança - colaboração

av Lucas Silveira för 9 årar sedan

443

Arquiteturas Distribuídas para Sistemas Colaborativos

A discussão sobre arquiteturas distribuídas em sistemas colaborativos aborda principalmente três modelos: centralizada, descentralizada e híbrida. Na arquitetura centralizada, todo o processamento ocorre no servidor, o que pode levar a problemas de desempenho e escalabilidade, especialmente com atrasos na rede.

Arquiteturas Distribuídas para Sistemas Colaborativos

Arquiteturas Distribuídas para Sistemas Colaborativos

Arquiteturas de Distribuição

Híbrida

Combina duas arquiteturas: Centralizada e descentralizada

Descentralizada

Gerenciamento de dados compartilhados é mais complexo: dados inconsistentes até ocorrer sincronização

A quantidade de troca de mensagens pode comprometer a escalabilidade

Esquema da Arquitetura Descentralizada

Sincronização: direta ou por replicação

Processamento é totalmente distribuído

Centralizada
Desempenho

Implementação da Arquitetura

Tempo de resposta

Escalabilidade

Pode ter vários servidores, mas a simplicidade da implementação é perdida

Suscetível aos atrasos da rede

Processamento gráfico pode ser movido para o cliente (jogos online 3D)

Conceito

Esquema da Arquitetura Centralizada

Processamento é feito em íntegra no servidor (inclusive processamento gráfico - compartilhamento de Desktop, VNC)

Introdução

Desafios
Segurança
Controle de colaboração
Controle de concorrência
Conceitos
Elementos desejáveis

Portabilidade

Transparência

Tolerância a falhas

Sistemas colaborativos são sistemas distribuídos

Computadores autônomos

Objetivos
SOA e sistemas colaborativos
Peer-to-Peer e suas vantagens
Modelos de distribuição e impacto de desempenho

Bibliografia

GOMES, R. L. WILLRICH, R. RIVERA, G. de J. H. Arquiteturas Distribuídas para Sistemas Colaborativos. In: PIMENTEL, M. FUKS, H. (Org.). Sistemas Colaborativos. Rio de Janeiro : Elsevier, 2011. p. 328-347.

Exemplos

Arquitetura Orientada à Serviços (SOA, em inglês)
Colaboração Orientada a Serviços (SOC)

Modelo em que os usuários possam colaborar na criação de serviços

Soluções atuais utilizam Serviços RESTFul (utiliza HTTP diretamente, não tem outro protocolo para mensagens)

Google Docs

Promove boa interoperabilidade e extensibilidade, mas pode ter problemas devido aos protocolos usados (baseados em texto, não são binários)
Arquitetura Híbrida
Peer-to-Peer (P2P)
Exemplos (SCC)

Skype

Compartilhamento de arquivos

Troca de mensagens

Comunicação por nós
Alternativo ao Cliente-Servidor
Arquitetura Descentralizada