Guia de Sistemas Distribuídos: Conceitos e Arquiteturas
Classificado em Computação
Escrito em em
português com um tamanho de 2,97 KB
Conceitos Fundamentais de Sistemas Distribuídos
- Acesso: Acesso a recursos locais e remotos com operações idênticas.
- Concorrência: Permite a execução de vários processos ao mesmo tempo, partilhando recursos sem interferência.
- Escala: Permite a expansão dos componentes do sistema sem alterar a sua estrutura.
- Falhas: Tratamento de falhas para que o utilizador termine as suas tarefas sem interrupções.
- Localização: Utilização de recursos sem necessidade de conhecer a sua localização exata.
- Mobilidade: Permite a mobilidade de recursos sem afetar as operações de utilizadores e programas.
- Performance: Reconfiguração do sistema para aumentar o desempenho conforme a carga varia.
- Replicação: Uso de múltiplas instâncias de recursos para aumentar a fiabilidade e performance.
Comunicação e Marshalling
Marshalling: Consiste na tradução de estruturas e tipos primitivos para uma representação externa de dados adequada à sua transmissão. Utilizado em RPC ou RMI.
- CORBA: O emissor e o receptor conhecem o tipo de cada elemento da mensagem, logo o tipo não é transmitido.
- Java RMI: A aplicação que recebe a mensagem pode não conhecer o tipo de dados; a representação serializada inclui informação sobre o tipo.
Tolerância a Falhas
- Reenvio do pedido: Reenvia a mensagem até a resposta chegar ou detetar problemas.
- Filtragem de duplicados: Decide se o duplicado deve ser processado ou ignorado.
- Retransmissão de resultados: Evita novas exceções através de um histórico de resultados.
Sincronização de Relógios
- Christian: Sincroniza o tempo se a troca de mensagens for rápida comparada com a precisão desejada.
- Berkeley: Um nó mestre solicita leituras aos escravos, calcula a média e envia o ajuste necessário para cada um.
Segurança e Criptografia
Assinatura Digital: A chave pública é usada para encriptar, pois o objetivo não é a confidencialidade, mas a autenticidade. A assinatura de chave secreta é mais performante (funções de hash são 3 a 10 vezes mais rápidas).
Kerberos: Protocolo de autenticação baseado em tickets e chaves de sessão para garantir a identidade entre cliente e servidor.
Sistemas de Ficheiros Distribuídos (NFS e AFS)
- NFS: O servidor é stateless, o que favorece a consistência, exigindo validação de atributos a cada pedido.
- AFS: Utiliza callbacks para notificar o cliente sobre atualizações de ficheiros, armazenando réplicas localmente.