RPC - Remote Procedure Call
Introdução
Já imaginou chamar uma função que está em outro computador, como se ela estivesse local, garantindo assim uma transparencia de distribuição e localização dos recursos alocados em um sistema distribuido?
O que é?
RPC é uma sigla para Remote Procedure Call. Existem diversas bibliotecas e frameworks para varias linguagens que implementam isso e muitas são gratuitas.
Intuito
O intuito das RPCs é distribuir partes do software em partes mais competentes para faze-la. Considerando que no mercado existem diversos dispositivos diferentes e diversas arquiteturas de computador, com capacidades de armazenamento, memória e processamento distintas entre si, o RPC visa otimizar performance e tornar transparente o acesso a recursos.
No fim das contas, para o usuário final ele acessa uma única plataforma e não tem conhecimento de que aquela aplicação roda em diferentes hardwares e SOs, muita das vezes nem os desenvolvedores estão cientes de que aqueles recursos utilizados por ele estão remotos.
Exemplo:
Ninguem é tão sábio que não tenha algo pra aprender e nem tão tolo que não tenha algo pra ensinar.
Blaise Pascal