Trucada de procediment remot (RPC) és una tècnica potent per construir aplicacions distribuïdes basades en client-servidor . Es basa en ampliar el procediment local convencional convocatòria per tal que el El procediment cridat no ha d'existir al mateix espai d'adreces que el procediment de trucada . Els dos processos poden estar al mateix sistema, o poden estar en sistemes diferents amb una xarxa que els connecta.
Quan feu una trucada de procediment remot:

1. L'entorn de trucada se suspèn, els paràmetres del procediment es transfereixen a través de la xarxa a l'entorn on s'ha d'executar el procediment i el procediment s'executa allà.
jocs de missatges per a Android
2. Quan el procediment acaba i produeix els seus resultats, els seus resultats es transfereixen de nou a l'entorn de trucada, on l'execució es reprèn com si tornés d'una trucada de procediment normal.
NOTA: RPC és especialment adequat per a client-servidor (p. ex., consulta-resposta) interacció en la qual el flux de control alterna entre el que truca i el destinatari . Conceptualment, el client i el servidor no s'executen alhora. En lloc d'això, el fil d'execució salta de la persona que truca a la persona que fa la trucada i després torna de nou.
Funcionament de RPC

Els passos següents tenen lloc durant un RPC:
- Un client invoca a procediment talonari del client , passant paràmetres de la manera habitual. El taló del client resideix dins del propi espai d'adreces del client.
- El taló del client marshalls (paquet) els paràmetres en un missatge. L'ordenació inclou convertir la representació dels paràmetres a un format estàndard i copiar cada paràmetre al missatge.
- El taló del client passa el missatge a la capa de transport, que l'envia a la màquina del servidor remot.
- Al servidor, la capa de transport passa el missatge a un taló del servidor, que demarshalls (desempaquetar) els paràmetres i crida a la rutina del servidor desitjada mitjançant el mecanisme de trucada de procediment normal.
- Quan es completa el procediment del servidor, torna al taló del servidor (p. ex., mitjançant una devolució de trucada de procediment normal) , que agrupa els valors de retorn en un missatge. A continuació, el taló del servidor lliura el missatge a la capa de transport.
- La capa de transport envia el missatge del resultat a la capa de transport del client, que torna el missatge al taló del client.
- El taló del client desmarca els paràmetres de retorn i l'execució torna a la persona que truca.
Les consideracions clau per dissenyar i implementar sistemes RPC són:
- Seguretat: com que RPC implica comunicació a través de la xarxa, la seguretat és una preocupació important. S'han d'implementar mesures com ara l'autenticació, el xifratge i l'autorització per evitar l'accés no autoritzat i protegir les dades sensibles. Escalabilitat: a mesura que augmenta el nombre de clients i servidors, el rendiment del sistema RPC no s'ha de degradar. Les tècniques d'equilibri de càrrega i l'ús eficient dels recursos són importants per a l'escalabilitat. Tolerància a errors: el sistema RPC ha de ser resistent a errors de xarxa, fallades del servidor i altres esdeveniments inesperats. Mesures com ara la redundància, la migració per error i la degradació elegant poden ajudar a garantir la tolerància a errors. Estandardització: hi ha diversos marcs i protocols RPC disponibles, i és important triar-ne un d'estandarditzat i àmpliament acceptat per garantir la interoperabilitat i la compatibilitat entre diferents plataformes i llenguatges de programació. Ajust del rendiment: és important ajustar el sistema RPC per obtenir un rendiment òptim. Això pot implicar l'optimització del protocol de xarxa, la minimització de les dades transferides a la xarxa i la reducció de la latència i la sobrecàrrega associada a les trucades RPC.
PROBLEMES RPC :
Assumptes que cal tractar:
impressió javascript
1. Temps d'execució RPC:
El sistema de temps d'execució RPC és una biblioteca de rutines i un conjunt de serveis que gestionen les comunicacions de xarxa que subjauen al mecanisme RPC. En el transcurs d'una trucada RPC, el codi de codi dels sistemes d'execució del costat del client i del servidor vincular, establir comunicacions mitjançant un protocol adequat, passar dades de trucades entre el client i el servidor i gestionar els errors de comunicacions.
2. Taló:
La funció del taló és fer proporcionar transparència al codi de l'aplicació escrit pel programador .
scan.next java
- Al costat del client, el taló gestiona la interfície entre la trucada de procediment local del client i el sistema en temps d'execució, classificació i desordenació de dades, invocant el protocol de temps d'execució RPC i, si se sol·licita, realitzant alguns dels passos d'enllaç. Al costat del servidor, el taló proporciona una interfície similar entre el sistema en temps d'execució i els procediments del gestor local que executa el servidor.
3. Enquadernació: Com sap el client a qui trucar i on resideix el servei?
La solució més flexible és utilitzar l'enllaç dinàmic i trobar el servidor en temps d'execució quan es fa l'RPC per primera vegada. La primera vegada que s'invoca el taló del client, es posa en contacte amb un servidor de noms per determinar l'adreça de transport on resideix el servidor.
L'enquadernació consta de dues parts:
- Nosaltres:
- Ubicació:
- Un servidor que té un servei per oferir exporta una interfície per a ell. L'exportació d'una interfície la registra al sistema perquè els clients la puguin utilitzar. Un client ha d'importar una interfície (exportada) abans de començar la comunicació.
4. La semàntica de trucada associada a RPC:
Es classifica principalment en les opcions següents:
- Missatge de sol·licitud de tornada a provar -
Si s'ha de tornar a intentar enviar un missatge de sol·licitud quan un servidor ha fallat o el receptor no ha rebut el missatge. Filtrat duplicat -
Elimineu les sol·licituds duplicades del servidor. Retransmissió de resultats -
Per tornar a enviar missatges perduts sense tornar a executar les operacions al costat del servidor.
AVANTATGES:
- RPC ofereix ABSTRACCIÓ és a dir, la naturalesa de transmissió de missatges de la comunicació de xarxa està oculta per a l'usuari.
- RPC sovint omet moltes de les capes de protocol per millorar el rendiment. Fins i tot una petita millora del rendiment és important perquè un programa pot invocar RPC sovint.
- RPC permet l'ús de les aplicacions a l'entorn distribuït, no només a l'entorn local.
- Amb la reescriptura/redesenvolupament del codi RPC es minimitza l'esforç.
- Models orientats a processos i orientats a fils compatibles amb RPC.
Referències:
- https://web.cs.wpi.edu/~cs4514/b98/week8-rpc/week8-rpc.html
- https://users.cs.cf.ac.uk/Dave.Marshall/C/node33.html
- Xarxes d'ordinadors: un enfocament de dalt a baix de FOROUZAN