Material de aula da disciplina de Sistemas Distribuídos ministrada na Faculdade Dom Luiz de Orleans e Bragança no curso Tecnólogo de Redes de Computadores
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistemas Distribuídos - Aula 1
1. SISTEMAS DISTRIBUÍDOS
Prof. Edison Santos
Aluno Especial em Mestrado UFBA
e UNEB
Especialista em Estratégias de
Arquitetura de Software
Bacharel em Sistemas de
Informação
Experiências Educacionais
Professor EAD IFBA Profuncionario
Instrutor de AVA Moodle
Educador de Informática Básico com
Ênfase inclusão Social;
Experiências Profissional
Desenvolvedor Pleno Capgemini
Analista de Sistemas - Qualitech
Desenvolvedor Web – Grupo Santa
Helena
Desenvolver Web – UFBA
2. • Avanços dos sistemas de computação em 1945 (Era Moderna dos
Computadores)
• computadores grandes
• De alto custo
• Independentes
• Meados de 80
• Máquinas de 8 bits, 16, 32 e 64 bits
• CPU com capacidade de mainframe
SISTEMAS DISTRIBUÍDOS
Introdução a Sistemas Distribuídos
3. • Últimos 50 anos
• Redução de preços
• Aumento da capacidade de processamento
• Redes Locais (LAN Local-Area Networks)
• Redes de Longas Distâncias (WANs Wide-Area Networks)
SISTEMAS DISTRIBUÍDOS
Introdução a Sistemas Distribuídos
4. • “Um sistema distribuído é um conjunto de computadores
independentes que se apresenta a seus usuários como um sistema
único e coerente” (Tanenbaum, 1995)
• “Definimos um sistema distribuído como sendo aquele no qual os
componentes de hardware ou de software, localizados em
computadores interligados em rede, se comunicam e coordenam suas
ações apenas enviando mensagens entre si” (Couloris, 2005)
• “Você sabe que tem um quando a falha de um computador do qual
nunca ouviu falar impede que você faça qualquer trabalho”. (Leslie
Lamport)
SISTEMAS DISTRIBUÍDOS
Definições
5. SISTEMAS DISTRIBUÍDOS
Definições
• Alguns Aspectos
• Componentes (computadores)
autônomos
• Visão de unicidade para o usuário
(programa ou humano) Transparência
• Componentes interconectados
(arquiteturas/middleware)
• Computadores e Redes Heterogêneos
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
6. Abstrações disponibilizadas pelo Middleware.
• Comunicação
• Segurança
• Persistência
• Controle de
• Transações
• Etc.
Retirado de: Tanenbaum, A. Sistemas Distribuídos.
SISTEMAS DISTRIBUÍDOS
Abstrações do Middleware *
7. SISTEMAS DISTRIBUÍDOS
Definições
• Alguns Aspectos
• Comunicação autônoma e Inexistência de Relógio Global (troca de mensagens)
• Falhas Independentes
• Concorrência/Compartilhamento de recurso
8. SISTEMAS DISTRIBUÍDOS
Exemplos de Sistemas Distribuídos
• A Internet
• Conjunto de redes de computadores
interligados
• Mecanismos de comunicação da Internet
(protocolos) *
• Serviços disponibilizados: www, email,
transferência de arquivos, multimídias
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
9. SISTEMAS DISTRIBUÍDOS
Exemplos de Sistemas Distribuídos
• A Intranet
• Várias redes LAN e/ou LANs
interconectadas por backbone
• Conexão de Internet por roteador
• Firewall
• Necessidades: serviços de arquivos,
segurança, avaliar custos de instalação
de software
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
10. SISTEMAS DISTRIBUÍDOS
Exemplos de Sistemas Distribuídos
• Computação Ubíqua/Pervasiva
• Pequenos equipamentos computacionais
(notebooks, Smartphones, câmeras
digitais, dispositivos incorporados a
eletrodomésticos e outros)
• Miniaturização de dispositivos
• Interligação de redes sem fio
• Sistemas distribuídos
• Computação móvel/nômade
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
11. • Acesso a recursos
• Transparência
• Abertura
• Escalabilidade
SISTEMAS DISTRIBUÍDOS
Metas dos Sistemas Distribuídos
12. • “Acesso a recursos remotos e seu compartilhamento de
maneira controlada e eficiente”.
• Exemplo Groupware (software de edição colaborativa,
teleconferência e etc.)
• Quanto maior conectividade maior deve ser segurança
• Criptografia
• Rastreamento de comunicações (Perfil de usuário)
• Comunicação indesejada (Spam)
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Acesso a recurso
13. ANDREW S. TANENBAUM
MAARTEN VAN STEEN
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Transparência da distribuição
14. • “... ocultar completamente dos usuários todos os aspectos
da distribuição não é uma boa ideia.”
• Exemplos
• Fuso horário
• Limites de capacidade física
• Transparência versus desempenho – Requisições sem sucesso
liberar controle ao usuário
• Replicação (requer tempo de atualização)
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Transparência da distribuição
15. • “Um sistema distribuído aberto é um sistema que oferece
serviços de acordo com as regras padronizadas que
descrevem a sintaxe e a semântica desses serviços”.
• Interface Definition Language - IDL
• Interoperabilidade (Componentes coexistindo com confiança
mútua)
• Portabilidade.
• Extensível (Estrutura de Componentes com fácil adição, troca
e remoção dos mesmo)
• Política e Mecanismos
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Abertura
16. ANDREW S. TANENBAUM
MAARTEN VAN STEEN
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Problemas de Escalabilidade
17. SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Problemas de Escalabilidade
• Tamanho
• Internet DNS
• Geográfica
• Longas distâncias
• Localização de um serviço
• Administrativa
• Políticas organizacionais
• Colaboração Humana
18. • Ocultar a latência de Comunicação
• Usar por exemplo comunicação assíncrona
• Ex: AJAX em Serviços Web.
• Reduz tráfego
• Não bloqueia a aplicação
• Ex: Distribuir processamento (Cliente vs. Servidor)
• Javascript lado cliente para Validação
• Não usar applet síncrono para entrada de dados
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Técnicas para Alcançar Escalabilidade
19. • Distribuição
• Partes maiores em partes menores e espalhá-la através do
sistema (Serviço de nomeação DNS – diferentes
computadores assumes responsabilidade)
• Replicação
• Cache de páginas em browser
• Possíveis problemas de consistências dos dados
SISTEMAS DISTRIBUÍDOS
Metas de um Sistema Distribuído
Técnicas para Alcançar Escalabilidade
20. • Premissas falsas adotadas ao desenvolver uma
aplicação distribuída pela primeira vez
1. A rede é confiável
2. A rede é segura
3. A rede é homogênea
4. A topologia não muda
5. A latência é zero
6. A largura da banda é infinita
7. O custo de transporte é zero
8. Há apenas um administrador
SISTEMAS DISTRIBUÍDOS
Principais ciladas
21. • Sistemas de Computação distribuída
• Sistemas de Informação distribuída
• Sistemas distribuídos pervasivos
SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
22. SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas de Computação Distribuída – Cluster
Homogêneo
Nó Mestre
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
23. SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas de Computação Distribuída – Grade (grid)
Heterogeneidade
Organização Virtual
(login da organização)
Acesso de recursos
Servidores de computação
Armazenamento
Banco de dados
Arquitetura em Camadas
Conectividade (protocolos de comunicação)
Recursos (controle de acesso de recursos)
Coletiva (descoberta de recursos, alocação e escalonamento de tarefas, replicação de dados)
Aplicação (aplicações dentro da organização virtual)
24. SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas de Informação Distribuídos
Integração de sistemas de informação
Problemas de interoperabilidade
Empacota várias requisições de programas clientes em uma
transação distribuída.
Simples servidores e programas remotos (clientes)
RPCs (Procedimentos remotos)
EAI (Enterprise Application Integration)
25. SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas de Informação Distribuídos
Processamento Transacional
ACID
Atômica (acontece completamente ou não
acontece)
Consistente (toda transação retorna o
ambiente a um estado consistente)
Isoladas (uma transação em processo não
impacta em outra)
Duráveis (uma ver realizada não é modificada)
26. SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas de Informação Distribuídos
Transações Aninhadas
Monitor de Transação
Chamada de Procedimento Remoto
(RPC – Remote Procedure Calls)
Chamada de Método Remoto
(RMI – Remote Method Invocations)
X
Middleware Orientado a Mensagem
(MOM – Message-oriented Middleware)
ANDREW S. TANENBAUM
MAARTEN VAN STEEN
27. • Sistemas decorrentes do uso de computação móvel e embutida,
nas quais o comportamento esperado é a instabilidade;
• Pequeno tamanho
• Alimentados por bateria;
• Comunicação sem fio;
• Não possui controle administrativo humano, podendo:
1. Adotar mudanças contextuais
2. Incentivar composição ad hoc
3. Reconhecer compartilhamento como padrão
SISTEMAS DISTRIBUÍDOS
Tipos de Sistemas Distribuídos
Sistemas Distribuídos Pervasivos