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.

Entradas relacionadas: