Llamadas de procedimiento remoto (RPC) explicadas simplemente: conceptos, ejemplos y casos de uso
17:50, 21.10.2026
El software moderno necesita varias máquinas para cubrir todo el alcance de su aplicación. El software se distribuye entre servidores, plataformas en la nube, contenedores y múltiples ubicaciones. A pesar de esta complejidad, los desarrolladores quieren que los sistemas se comuniquen de forma remota con la misma facilidad con la que se llama a una función local. Y este es el objetivo de las llamadas a procedimientos remotos (RPC).
En este artículo, explicaremos en qué consiste la RPC, cómo funciona, y ofreceremos ejemplos y casos de uso.
¿Qué es una RPC (llamada a procedimiento remoto)?
Una llamada a procedimiento remoto (RPC) es una técnica de comunicación que permite ejecutar una función o un procedimiento en otro ordenador de forma remota, tal y como se haría localmente.
Así es como funciona:
- Un programa llama a una función.
- La función se ejecuta realmente en otra máquina.
- El resultado se devuelve como si se estuviera ejecutando en tu ordenador.
La RPC elimina la complejidad de las redes para los desarrolladores, lo cual se nota en el formateo, la transferencia de datos y la gestión de las respuestas.
Por qué los desarrolladores necesitan la RPC
La RPC simplifica muchas tareas que, de otro modo, los desarrolladores tendrían que realizar manualmente. Por ejemplo:
- Enviar solicitudes de red;
- Gestionar datos;
- Gestionar tiempos de espera y errores;
- Analizar respuestas;
Teniendo en cuenta que RPC puede encargarse de estas acciones, facilita mucho a los desarrolladores la creación, gestión y mantenimiento de sistemas distribuidos.
Cómo funciona el RPC (paso a paso)
Ahora, veamos en detalle cómo funciona el RPC. Estos son los pasos principales:
- El cliente llama a una función, lo que se asemeja a una llamada a una función local.
- El nombre y los parámetros de la función se convierten a un formato adecuado para la transmisión por red.
- La solicitud se envía a través de la red.
- El servidor recibe la solicitud y ejecuta el procedimiento solicitado.
- El resultado se serializa y se devuelve al cliente.
- El cliente recibe la respuesta y la convierte a un formato utilizable.
Un ejemplo de RPC
Imagina una función que suma dos números: result = add(5, 3). Con RPC, la función add se ejecuta en un servidor remoto; el cliente envía 5 y 3; el servidor calcula 8; y el resultado se devuelve al cliente.
Por lo tanto, para un desarrollador resulta como una llamada a una función normal.
Diferentes tipos de RPC
Existen tres tipos principales de RPC: RPC síncrono, asíncrono y unidireccional.
En un RPC síncrono, el cliente espera la respuesta del servidor, lo que a veces puede bloquear la ejecución de la solicitud. En el RPC asíncrono, por el contrario, el cliente sigue trabajando mientras espera una respuesta, lo que puede resultar más adecuado para sistemas de alto rendimiento.
El RPC unidireccional permite al cliente enviar una solicitud sin esperar ni requerir una respuesta.
Tecnologías RPC populares
gRPC
Tecnología gRPC:
- Fue desarrollada por Google;
- Utiliza HTTP/2 y Protocol Buffers;
- Ofrece un alto rendimiento;
- Se utiliza habitualmente en microservicios;
JSON-RPC
JSON-RPC es:
- Ligero;
- Utiliza JSON para el intercambio de datos;
- Es sencilla y fácil de usar independientemente del lenguaje;
XML-RPC
XML-RPC es:
- Un estándar RPC más antiguo;
- Utiliza XML;
- Se utiliza con menos frecuencia;
Thrift
Thrift:
- Fue desarrollado por Apache;
- Es compatible con múltiples lenguajes;
- Se utiliza en sistemas distribuidos a gran escala;
Casos de uso habituales de RPC
Comunicación entre microservicios
Los servicios se comunican entre sí de forma eficiente y con baja latencia.
Sistemas distribuidos
Los diferentes componentes de un sistema se ejecutan en máquinas independientes, pero se comportan como uno solo.
Plataformas en la nube y de contenedores
Comunicación interna entre servicios en entornos de Kubernetes o en la nube.
Sistemas de bases de datos y almacenamiento
Consultas y operaciones remotas sobre datos.
Sistemas en tiempo real
Servidores de videojuegos, sistemas financieros y plataformas de mensajería.
Ventajas e inconvenientes de RPC
Ventajas:
- Modelo de programación sencillo;
- Alto rendimiento;
- Implementaciones independientes del lenguaje;
- Abstracción clara para sistemas distribuidos;
Inconvenientes:
- Es necesario gestionar los fallos de red;
- Fuerte acoplamiento entre cliente y servidor;
- La gestión de versiones puede resultar compleja;
- La depuración de llamadas distribuidas es más difícil que la de llamadas locales;