RPC

O que é RPC?

RPC ou Remote Procedure Call é o tipo de protocolo para chamada de procedimentos remotos em diferentes sistemas, ou chamada de determinada função para o método de transferência de controle de parte de um processo para outra, o que permite a divisão de um programa em várias partes do sistema distribuído ou da rede, pondendo inclusive, compartilhar os mesmos diretórios e arquivos.  Isso permite que ao programador invocar métodos remotos sem que tenha que se preocupar com os detalhes da implementação da parte remota do sistema, como se fossem procedimentos locais.

Como isso é feito?

O RPC não especifica como uma mensagem é enviada, ele especifica a mensagem em si e as interpreta, o que permite implementá-lo em diferentes protocolos de transporte. As camadas de transporte implementadas são o TCP e o UDP.

RPC - Chamada Remota de Procedimento

RPC - Chamada Remota de Procedimento

Como funciona o RPC?

No modelo RPC, uma Thread tem a função de controlar dois processo, o invocador  e o servidor.  A chamada de um procedimento, por parte do invocador, pode ser resumida em 4 passos:

  1. Manda mensagem ao servidor, que contém os parâmetros do procedimento
  2. Aguarda uma mensagem de resposta, que contém o resultado da execução do procedimento
  3. Coleta os resultados
  4. Prossegue com a execução

No servidor, o que ocorre é o seguinte:

  1. Processo aguarda a mensagem de invocação
  2. Extrai parâmetros e produz resultados
  3. Envia uma mensagem de resposta

Um dos dois processos devem estar ativos a qualquer momento.

O modelo apresentado acima, serve como ilustração do RPC, no entanto, existem também implementações por chamadas assíncronas, nas quais o cliente não precisa ficar aguardando a resposta do servidor e pode continuar com o seu trabalho.

Gostou? Curta e Compartilhe!

Categoria(s) do artigo:
Tecnologia

Artigos Relacionados


Artigos populares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Time limit is exhausted. Please reload CAPTCHA.