RPC (Remote Procedure Call, llamada a procedimiento remoto) es una forma de programar en la que un equipo ejecuta una función que vive en otro equipo, como si fuera una función más de su propio programa.
Es como pedir comida por teléfono: tú solo dices «quiero una pizza grande» y esperas. No te importa cómo la preparan ni quién la lleva; recibes el resultado. RPC hace lo mismo con las funciones: llamas a sumar(7, 5) y la respuesta llega desde otro servidor.
En términos técnicos
- Se ubica en la capa 5 (Sesión) en esta tabla, porque organiza el diálogo de pregunta y respuesta entre dos programas; en TCP/IP es parte de la capa de aplicación.
- Esconde la red detrás de unos intermediarios llamados stubs: el del cliente empaqueta la llamada y el del servidor la desempaqueta y ejecuta la función.
- Los argumentos y resultados se serializan (se convierten a bytes) con un formato acordado: XDR, XML, JSON o Protocol Buffers.
- Viaja sobre TCP, UDP o HTTP, según la implementación.
¿Dónde lo vas a encontrar?
En NFS (carpetas compartidas en Linux), en muchos servicios de Windows (administración remota, Active Directory), en microservicios que se comunican con gRPC y en la API de algunas cadenas de bloques que usan JSON-RPC.