RPC significa llamadas a procedimiento remoto . Es un protocolo que un programa puede usar para solicitar un servicio de un programa ubicado en otra computadora en una red sin tener que lidiar con las complejidades de la red.
Una llamada de este tipo generalmente ocurre cuando un programa de computadora hace que un procedimiento se ejecute en el espacio de direcciones de otra computadora en una red compartida. Dichas llamadas se codifican para parecerse a las llamadas al mismo sistema, es decir, el usuario se abstrae completamente del hecho de que el funcionamiento se lleva a cabo en un sistema diferente de la misma red.
Los RPC son una forma de IPC (comunicación entre procesos), si la llamada se realiza a la máquina host, el proceso difiere en el espacio de direcciones virtuales, la dirección física es la misma, pero cuando un host es una máquina diferente, difieren en direcciones físicas también.
Es un método de comunicación y emplea el paradigma de solicitud-respuesta para hacerlo.
Hay tres tipos de RPC:
- RPC de devolución de llamada
- RPC de difusión
- RPC en modo por lotes
Historia
- Bruce Jay Nelson acuñó por primera vez el término «llamada a procedimiento remoto» en 1981.
- El documento de ARPANET muestra que pensaron en la idea de tratar las operaciones de red como RPC.
- Los RPC utilizados en los sistemas informáticos modernos se remontan al sistema de multiprogramación RC 4000 que utilizaba el modelo de solicitud-respuesta para la sincronización de procesos.
- En 1982, Brian Randell y sus colegas utilizaron RPC para su conexión Newcastle entre máquinas UNIX. Esto fue pronto seguido por Andrew Birrell y Bruce Nelson para “Lupin” en el entorno Cedar en Xerox PARC . Este fue el primer uso comercial registrado de RPC.
Características
- Utiliza el paradigma de solicitud-respuesta para la comunicación y, de hecho, se puede utilizar para el paso de mensajes entre dos procesos en dos sistemas diferentes pero en la misma red.
- La sintaxis de la llamada es simple y similar a las llamadas locales.
- Se ejecuta dentro del entorno del proceso del servidor.
- Puede emplearse para la comunicación entre procesos que están en la misma máquina así como en una máquina diferente.
Ventajas
- Los modelos orientados a procesos y orientados a subprocesos admiten RPC.
- utiliza llamadas a procedimientos en lenguajes de alto nivel que ayudan a los clientes a comunicarse con los servidores.
- abstrae el mecanismo interno de paso de mensajes del usuario.
- minimiza el esfuerzo de reescribir y volver a desarrollar el código.
- permite el uso de la aplicación incluso en un entorno distribuido.
- proporciona abstracción.
- Compromete muchas de las capas de protocolo para mejorar el rendimiento.
Desventajas
- no ofrece ninguna flexibilidad en la arquitectura de hardware.
- Las llamadas remotas son más lentas y menos confiables que las llamadas locales.
- Este concepto se puede implementar de muchas maneras, por lo que no se puede estandarizar.
- Muy vulnerable al fracaso.
- El costo efectivo es más alto al configurar redes que podrían admitir RPC.
Publicación traducida automáticamente
Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA