jueves, 16 de junio de 2011

Llamadas a procedimientos remotos (RPC)

Algunas veces no puede interesar ejecutar programas o procesos de forma remota en un servidor. Para poder hacer esto existe RPC.

Funcionamiento:

Una llamada RPC es inicializada por el cliente, quien manda una petición a un servidor remoto para que ejecute el procedimiento especificado con sus respectivos parámetros. El servidor remoto manda una respuesta al cliente y la aplicación continua su ejecución. Mientras el servidor ejecuta el procedimiento el cliente se bloquea hasta que el servidor termina y le avisa.

Hay muchas variaciones y sutiliesas en las distintas implementaciones de RPC, lo que hace que haya incompatibilidades entre ellos.

Una diferencia importante entre llamadas remotas y llamadas locales es que las primeras pueden fallar por problemas de conexión en la red. Estas llamadas deben lidiar con estas fallas sin saber a si realmente el procedimiento fue invocado. Es por esto que el código de estos procedimientos debe estar escrito en un lenguaje de bajo nivel.

El comando rpcinfo

Este programa da información de los programas RPC que tiene habilitado un servidor.

$rpcinfo -p

da información de la máquina local

$rpcinfo -p host

Da información del servidor host

Muestra información de todas las máquinas en la red local que están corriendo el servicio de Yellow Pages:

$rpcinfo -b ypserv 'version' | uniq

Donde 'version' es la versión actual de Yellow Pages obtenida de los resultados anteriores.

No hay comentarios:

Publicar un comentario