Remote Procedure Call (RPC) -protokolla hajautetussa järjestelmässä

Mikä on RPC?

Remote Procedure Call (RPC) on prosessien välinen viestintätekniikka. RPC:n täysi muoto on Remote Procedure Call. Sitä käytetään asiakas-palvelinsovelluksissa. RPC-mekanismeja käytetään, kun tietokoneohjelma saa proseduurin tai aliohjelman suorittamaan eri osoiteavaruudessa, mikä on koodattu normaaliksi proseduurikutsuksi ilman, että ohjelmoija koodaa erikseen etävuorovaikutuksen yksityiskohtia.

Tämä prosessikutsu hallitsee myös matalan tason siirtoprotokollaa, kuten User Datagram Protocol, Transmission Ohjausprotokolla/Internet Protocol jne. Sitä käytetään viestitietojen kuljettamiseen ohjelmien välillä.

RPC-tyypit

Kolme RPC-tyyppiä ovat:

  • Takaisinsoitto RPC
  • Lähetys RPC
  • Erätoiminen RPC

Takaisinsoitto RPC

Tämän tyyppinen RPC mahdollistaa P2P-paradigman osallistuvien prosessien välillä. Se auttaa prosessia olemaan sekä asiakas- että palvelinpalveluita.

Takaisinsoitto-RPC:n toiminnot:

  • Etäkäsitellyt interaktiivisten sovellusten ongelmat
  • Tarjoaa palvelimen asiakaskahvalla
  • Takaisinsoitto saa asiakasprosessin odottamaan
  • Hallitse takaisinsoittojen umpikujaa
  • Se helpottaa peer-to-peer-paradigmaa osallistuvien prosessien välillä.

Lähetys RPC

Broadcast RPC on asiakkaan pyyntö, joka lähetetään verkossa ja jonka käsittelevät kaikki palvelimet, joilla on menetelmä pyynnön käsittelyyn.

Broadcast RPC:n toiminnot:

  • Voit määrittää, että asiakkaan pyyntöviesti on lähetettävä.
  • Voit ilmoittaa lähetysportit.
  • Se auttaa vähentämään fyysisen verkon kuormitusta

Erätoiminen RPC

Erätoiminen RPC auttaa asettamaan jonoon, erottamaan RPC-pyynnöt lähetyspuskurissa asiakaspuolella ja lähettämään ne sitten verkossa yhtenä eränä palvelimelle.

Eräkäyttöisen RPC:n toiminnot:

  • Se minimoi pyynnön lähettämiseen liittyvät ylimääräiset kustannukset, koska se lähettää ne verkon yli yhtenä eränä palvelimelle.
  • Tämän tyyppinen RPC-protokolla on tehokas vain sovelluksissa, jotka tarvitsevat alhaisempia puhelunopeuksia.
  • Se tarvitsee luotettavan lähetysprotokollan.

RPC Archirakenne

RPC-arkkitehtuuri sisältää pääosin viisi ohjelman osaa:

  1. Asiakas
  2. Asiakas Stub
  3. RPC Runtime
  4. Palvelin Stub
  5. Server
RPC Archirakenne
RPC Archirakenne

Miten RPC toimii?

Seuraavat vaiheet tapahtuvat RPC-prosessin aikana:

Vaihe 1) Asiakas, asiakkaan tynkä ja yksi RPC-ajoajan ilmentymä suoritetaan asiakaskoneessa.

Vaihe 2) Asiakas aloittaa asiakkaan tynkäprosessin välittämällä parametrit tavalliseen tapaan. Asiakkaan tynkä tallentaa asiakkaan omaan osoiteavaruuteen. Se myös pyytää paikallista RPC Runtimea lähettämään takaisin palvelimen tynkä.

Vaihe 3) Tässä vaiheessa käyttäjä käyttää RPC:tä tekemällä tavallisen paikallisen menettelyn Cal. RPC Runtime hallitsee viestien siirtoa verkon välillä asiakkaan ja palvelimen välillä. Se suorittaa myös uudelleenlähetyksen, kuittauksen, reitityksen ja salauksen tehtävät.

Vaihe 4) Palvelinproseduurin suorittamisen jälkeen se palaa palvelimen tyngään, joka pakkaa (marshalls) palautusarvot viestiksi. Palvelimen tynkä lähettää sitten viestin takaisin siirtokerrokseen.

Vaihe 5) Tässä vaiheessa kuljetuskerros lähettää tulossanoman takaisin asiakkaan siirtokerrokselle, joka palauttaa viestin takaisin asiakkaan tynkälle.

Vaihe 6) Tässä vaiheessa asiakkaan tynkä demarshall (purkaa) palautusparametrit tuloksena olevassa paketissa, ja suoritusprosessi palaa kutsujalle.

RPC:n ominaisuudet

Tässä ovat RPC:n keskeiset ominaisuudet:

  • Kutsuttu proseduuri on toisessa prosessissa, joka todennäköisesti sijaitsee toisessa koneessa.
  • Prosessit eivät jaa osoiteavaruutta.
  • Parametrit välitetään vain arvojen mukaan.
  • RPC suoritetaan palvelinprosessin ympäristössä.
  • Se ei tarjoa pääsyä kutsumenettelyn ympäristöön.

RPC:n ominaisuudet

Tässä ovat RPC:n tärkeät ominaisuudet:

  • Yksinkertainen kutsusyntaksi
  • Tarjoaa tunnetun semantiikan
  • Tarjoa hyvin määritelty käyttöliittymä
  • Se voi kommunikoida prosessien välillä samassa tai eri koneissa

RPC:n edut

Tässä RPC:n edut/edut:

  • RPC-menetelmä auttaa asiakkaita kommunikoimaan palvelimien kanssa käyttämällä tavanomaista korkean tason proseduurikutsuja.
  • RPC-menetelmä on mallinnettu paikallisen proseduurikutsun mukaan, mutta kutsuttu proseduuri suoritetaan todennäköisimmin eri prosessissa ja yleensä eri tietokoneessa.
  • RPC tukee prosessi- ja säiesuuntautuneita malleja.
  • RPC piilottaa sisäisen viestien välitysmekanismin käyttäjältä.
  • Koodin uudelleen kirjoittaminen ja uudelleen kehittäminen on minimaalista.
  • Etäproseduurikutsuja voidaan käyttää hajautetun ja paikallisen ympäristön tarkoituksiin.
  • Se sitoo monia protokollakerroksia suorituskyvyn parantamiseen.
  • RPC tarjoaa abstraktion. Esimerkiksi verkkoviestinnän viestinvälitysluonne jää käyttäjältä piiloon.
  • RPC mahdollistaa sovellusten käytön hajautetussa ympäristössä, joka ei ole vain paikallisessa ympäristössä.
  • RPC-koodin avulla uudelleenkirjoittaminen ja uudelleenkehitystyö on minimoitu.
  • RPC tukee prosessisuuntautuneita ja säiesuuntautuneita malleja.

RPC:n haitat

Tässä ovat RPC:n käytön haitat/haitat:

  • Remote Procedure Call välittää parametrit vain arvojen ja osoitinarvojen mukaan, mikä ei ole sallittua.
  • Proseduurien etäkutsun (ja paluu) aika (eli yleiskustannukset) voi olla huomattavasti pienempi kuin paikallisen proseduurin.
  • Tämä mekanismi on erittäin alttiina epäonnistumiselle, koska se sisältää viestintäjärjestelmän, toisen koneen ja toisen prosessin.
  • RPC-konsepti voidaan toteuttaa eri tavoin, mikä ei voi olla vakio.
  • Ei tarjoa joustavuutta RPC:ssä laitteistoarkkitehtuurille, koska se perustuu enimmäkseen vuorovaikutukseen.
  • Prosessin kustannuksia nostaa etämenettelykutsu.

Yhteenveto

  • Etämenettelyn kutsu on prosessien välinen viestintä tekniikka.
  • Kolme RPC-tyyppiä ovat 1) takaisinsoitto-RPC 2) lähetys-RPC ja 3) erämuotoinen RPC.
  • RPC-arkkitehtuuri koostuu pääosin viidestä ohjelman osasta: 1) Client 2) Client Stub 3) RPC Runtime 4) Server Stub ja 5) Server
  • RPC-menetelmässä prosessit eivät jaa osoiteavaruutta
  • RPC tarjoaa yksinkertaisen kutsusyntaksin ja tunnetun semantiikan
  • RPC-menetelmä auttaa asiakkaita kommunikoimaan palvelimien kanssa käyttämällä tavanomaista korkean tason proseduurikutsuja.
  • RPC-menetelmän suurin haittapuoli on, että se on erittäin alttiina epäonnistumiselle, koska siihen liittyy viestintäjärjestelmä, toinen kone ja toinen prosessi.