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.