Conceitos Fundamentais de Sistemas Distribuídos e RPC

Classificado em Computação

Escrito em em português com um tamanho de 2,67 KB

1. Stubs

Procedimentos que contêm o código de chamadas à rede. Com stubs, o RPC protege os programas de aplicação (cliente e servidor) de preocupações com detalhes como sockets.

2. PortMap

Daemon de porta dinâmica para serviços RPC (Remote Procedure Call). É um protocolo que permite a um host utilizar uma função localizada em outro host remoto.

3. Protocolo RPC

Atualmente, utiliza-se XML como linguagem de descrição de interface e HTTP como protocolo de rede para formar serviços web, cujas implementações incluem SOAP e XML-RPC.

4. Tipos de Chamadas Remotas

Existem dois tipos principais:

  • Chamadas convencionais (UDP): Conhecidas como RPCs de uma via, onde a confiabilidade não é garantida e o cliente pode não saber se a requisição será processada.
  • RPC assíncrona (TCP): O servidor envia imediatamente uma resposta de volta ao cliente no momento em que a requisição é recebida e, depois disso, chama o procedimento requisitado.

5. Funcionamento: RPC vs. RMI

O RPC admite a programação por procedimentos (funções remotas), enquanto o RMI é baseado em objetos (invocação de métodos em objetos remotos).

  • Parâmetros: RPC utiliza estruturas de dados comuns; RMI permite passar objetos como parâmetros.
  • Stubs no RMI: O stub funciona como um proxy para o objeto remoto, enviando a chamada do método para o destino.

6. Middleware

Aplicação que reside na camada de aplicação, contendo protocolos de uso geral. É utilizado para transportar dados entre programas de diferentes protocolos, plataformas e sistemas operacionais.

7. Uso de uma IDL

Uma interface consiste em um conjunto de procedimentos chamados por um cliente e implementados por um servidor. Interfaces são especificadas por meio de uma IDL (Interface Definition Language), que simplifica aplicações cliente-servidor baseadas em RPC ao gerar automaticamente os apêndices (stubs) de cliente e servidor.

8. Vantagens do NFS

Permite o compartilhamento de arquivos e espaço em disco entre máquinas distintas em uma rede de modo rápido e eficaz, possibilitando a montagem de uma partição remota como se fosse local.

9. Função do SSH

Permite administrar máquinas remotamente (comandos em modo texto ou aplicativos gráficos), transferir arquivos e encapsular outros protocolos, como acessar uma sessão VNC através de um túnel seguro.

Entradas relacionadas: