Protocolo de llamada a procedimiento remoto (RPC) en sistema distribuido

ยฟQuรฉ es RPC?

Llamada a procedimiento remoto (RPC) Es una tรฉcnica de comunicaciรณn entre procesos. La forma completa de RPC es llamada a procedimiento remoto. Se utiliza para aplicaciones cliente-servidor. Los mecanismos RPC se utilizan cuando un programa informรกtico hace que un procedimiento o subrutina se ejecute en un espacio de direcciones diferente, que se codifica como una llamada a procedimiento normal sin que el programador codifique especรญficamente los detalles de la interacciรณn remota.

Esta llamada a procedimiento tambiรฉn gestiona el protocolo de transporte de bajo nivel, como el protocolo de datagramas de usuario, Transmission Protocolo de control/Protocolo de Internet, etc. Se utiliza para transportar los datos del mensaje entre programas.

Tipos de RPC

Tres tipos de RPC son:

  • RPC de devoluciรณn de llamada
  • RPC de transmisiรณn
  • RPC en modo por lotes

RPC de devoluciรณn de llamada

Este tipo de RPC permite un paradigma P2P entre procesos participantes. Ayuda a que un proceso sea tanto servicio de cliente como de servidor.

Funciones de devoluciรณn de llamada RPC:

  • Problemas de aplicaciones interactivas procesadas remotamente
  • Ofrece servidor con identificador de clientes.
  • La devoluciรณn de llamada hace esperar el proceso del cliente
  • Gestionar bloqueos de devoluciรณn de llamadas
  • Facilita un paradigma de igual a igual entre los procesos participantes.

RPC de transmisiรณn

Broadcast RPC es una solicitud de un cliente, que se transmite en la red, procesada por todos los servidores que tienen el mรฉtodo para procesar esa solicitud.

Funciones de Broadcast RPC:

  • Le permite especificar que el mensaje de solicitud del cliente debe transmitirse.
  • Puede declarar puertos de transmisiรณn.
  • Ayuda a reducir la carga en la red fรญsica.

RPC en modo por lotes

El modo por lotes RPC ayuda a poner en cola y separar las solicitudes RPC en un bรบfer de transmisiรณn en el lado del cliente y luego enviarlas a travรฉs de una red en un lote al servidor.

Funciones de RPC en modo por lotes:

  • Minimiza la sobrecarga involucrada en el envรญo de una solicitud, ya que las envรญa a travรฉs de la red en un lote al servidor.
  • Este tipo de protocolo RPC sรณlo es eficaz para aplicaciones que necesitan tasas de llamadas mรกs bajas.
  • Necesita un protocolo de transmisiรณn confiable.

RPC Architectura

La arquitectura RPC tiene principalmente cinco componentes del programa:

  1. Cliente
  2. Trozo de cliente
  3. Tiempo de ejecuciรณn de RPC
  4. Trozo de servidor
  5. Server
RPC Architectura
RPC Architectura

ยฟCรณmo funciona RPC?

Durante el proceso RPC se llevan a cabo los siguientes pasos:

Paso 1) El cliente, el cรณdigo auxiliar del cliente y una instancia de tiempo de ejecuciรณn de RPC se ejecutan en la mรกquina cliente.

Paso 2) Un cliente inicia un proceso de cรณdigo auxiliar de cliente pasando parรกmetros de la forma habitual. El cรณdigo auxiliar del cliente se almacena dentro del propio espacio de direcciones del cliente. Tambiรฉn solicita al tiempo de ejecuciรณn de RPC local que envรญe de vuelta al cรณdigo auxiliar del servidor.

Paso 3) En esta etapa, el usuario accede a RPC mediante la realizaciรณn de una calibraciรณn procedimental local regular. El entorno de ejecuciรณn de RPC administra la transmisiรณn de mensajes entre la red a travรฉs del cliente y el servidor. Tambiรฉn realiza el trabajo de retransmisiรณn, reconocimiento, enrutamiento y cifrado.

Paso 4) Despuรฉs de completar el procedimiento del servidor, regresa al cรณdigo auxiliar del servidor, que empaqueta (ordena) los valores devueltos en un mensaje. Luego, el cรณdigo auxiliar del servidor envรญa un mensaje a la capa de transporte.

Paso 5) En este paso, la capa de transporte devuelve el mensaje de resultado a la capa de transporte del cliente, que devuelve un mensaje al cรณdigo auxiliar del cliente.

Paso 6) En esta etapa, el cรณdigo auxiliar del cliente descomprime (desempaqueta) los parรกmetros de retorno, en el paquete resultante, y el proceso de ejecuciรณn regresa al llamador.

Caracterรญsticas de la RPC

Estas son las caracterรญsticas esenciales de RPC:

  • El procedimiento llamado se encuentra en otro proceso, que probablemente resida en otra mรกquina.
  • Los procesos no comparten espacio de direcciones.
  • Los parรกmetros se pasan sรณlo por valores.
  • RPC se ejecuta dentro del entorno del proceso del servidor.
  • No ofrece acceso al entorno del procedimiento de llamada.

Caracterรญsticas de RPC

Estas son las caracterรญsticas importantes de RPC:

  • Sintaxis de llamada simple
  • Ofrece semรกntica conocida.
  • Proporcionar una interfaz bien definida
  • Puede comunicarse entre procesos en la misma o en diferentes mรกquinas.

Ventajas de RPC

Aquรญ estรกn las ventajas y ventajas de RPC:

  • El mรฉtodo RPC ayuda a los clientes a comunicarse con los servidores mediante el uso convencional de llamadas a procedimientos en lenguajes de alto nivel.
  • El mรฉtodo RPC se basa en la llamada al procedimiento local, pero es mรกs probable que el procedimiento llamado se ejecute en un proceso diferente y, por lo general, en una computadora diferente.
  • RPC admite modelos orientados a procesos y subprocesos.
  • RPC oculta el mecanismo interno de transmisiรณn de mensajes al usuario.
  • El esfuerzo necesario para reescribir y desarrollar el cรณdigo es mรญnimo.
  • Las llamadas a procedimientos remotos se pueden utilizar para fines de entorno distribuido y local.
  • Compromete muchas de las capas del protocolo para mejorar el rendimiento.
  • RPC proporciona abstracPor ejemplo, la naturaleza de paso de mensajes de la comunicaciรณn de red permanece oculta para el usuario.
  • RPC permite el uso de las aplicaciones en un entorno distribuido que no es sรณlo el entorno local.
  • Con cรณdigo RPC, reescritura y rediseรฑoping El esfuerzo se minimiza.
  • Soporte de modelos orientados a procesos y orientados a subprocesos por RPC.

Desventajas de RPC

Estas son las desventajas/desventajas de usar RPC:

  • La llamada a procedimiento remoto pasa parรกmetros solo por valores y valores de puntero, lo cual no estรก permitido.
  • El tiempo de llamada (y devoluciรณn) de un procedimiento remoto (es decir, gastos generales) puede ser significativamente menor que el de un procedimiento local.
  • Este mecanismo es muy vulnerable a fallas ya que involucra un sistema de comunicaciรณn, otra mรกquina y otro proceso.
  • El concepto RPC se puede implementar de diferentes maneras, lo cual no es estรกndar.
  • No ofrece ninguna flexibilidad en RPC para la arquitectura de hardware, ya que se basa principalmente en la interacciรณn.
  • El costo del proceso aumenta debido a una llamada a procedimiento remoto.

Resumen

  • Una llamada a procedimiento remoto es una comunicaciรณn entre procesos la tรฉcnica.
  • Tres tipos de RPC son 1) RPC de devoluciรณn de llamada, 2) RPC de transmisiรณn y 3) RPC en modo por lotes.
  • La arquitectura RPC tiene principalmente cinco componentes del programa: 1) Cliente 2) Stub del cliente 3) Tiempo de ejecuciรณn de RPC 4) Stub del servidor y 5) Servidor
  • En el mรฉtodo RPC los procesos no comparten espacio de direcciones
  • RPC ofrece una sintaxis de llamada sencilla y una semรกntica conocida
  • El mรฉtodo RPC ayuda a los clientes a comunicarse con los servidores mediante el uso convencional de llamadas a procedimientos en lenguajes de alto nivel.
  • El mayor inconveniente del mรฉtodo RPC es que es muy vulnerable a fallas, ya que involucra un sistema de comunicaciรณn, otra mรกquina y otro proceso.

Resumir este post con: