Remote Procedure Call (RPC) Protocol i distribuerat system

Vad รคr RPC?

Remote Procedure Call (RPC) รคr en kommunikationsteknik mellan processer. Den fullstรคndiga formen av RPC รคr Remote Procedure Call. Den anvรคnds fรถr klient-serverapplikationer. RPC-mekanismer anvรคnds nรคr ett datorprogram fรฅr en procedur eller subrutin att kรถras i ett annat adressutrymme, vilket kodas som ett normalt proceduranrop utan att programmeraren specifikt kodar detaljerna fรถr fjรคrrinteraktionen.

Detta proceduranrop hanterar รคven lรฅgnivรฅtransportprotokoll, sรฅsom User Datagram Protocol, Transmission Control Protocol/Internet Protocol etc. Det anvรคnds fรถr att รถverfรถra meddelandedata mellan program.

Typer av RPC

Tre typer av RPC รคr:

  • Callback RPC
  • Sรคnd RPC
  • RPC i batchlรคge

Callback RPC

Denna typ av RPC mรถjliggรถr ett P2P-paradigm mellan deltagande processer. Det hjรคlper en process att vara bรฅde klient- och servertjรคnster.

Funktioner fรถr Callback RPC:

  • Fjรคrrbehandlade interaktiva applikationsproblem
  • Erbjuder server med klienthantering
  • ร…teruppringning fรฅr klientprocessen att vรคnta
  • Hantera lรฅsningar fรถr รฅteruppringning
  • Det underlรคttar ett peer-to-peer-paradigm bland deltagande processer.

Sรคnd RPC

Broadcast RPC รคr en klients begรคran, som sรคnds pรฅ nรคtverket, bearbetad av alla servrar som har metoden fรถr att bearbeta den begรคran.

Funktioner fรถr Broadcast RPC:

  • Lรฅter dig ange att klientens begรคranmeddelande mรฅste sรคndas.
  • Du kan deklarera sรคndningsportar.
  • Det hjรคlper till att minska belastningen pรฅ det fysiska nรคtverket

RPC i batchlรคge

Batch-mode RPC hjรคlper till att kรถa, separera RPC-fรถrfrรฅgningar, i en รถverfรถringsbuffert, pรฅ klientsidan, och sedan skicka dem pรฅ ett nรคtverk i en batch till servern.

Funktioner fรถr RPC i batchlรคge:

  • Det minimerar overhead som รคr involverat i att skicka en fรถrfrรฅgan eftersom den skickar dem รถver nรคtverket i en batch till servern.
  • Den hรคr typen av RPC-protokoll รคr endast effektiv fรถr den applikation som behรถver lรคgre samtalstaxor.
  • Den behรถver ett pรฅlitligt รถverfรถringsprotokoll.

RPC Architecture

RPC-arkitekturen har huvudsakligen fem komponenter i programmet:

  1. Klient
  2. Klientstubb
  3. RPC kรถrtid
  4. Server Stub
  5. server
RPC Architecture
RPC Architecture

Hur RPC fungerar?

Fรถljande steg sker under RPC-processen:

Steg 1) Klienten, klientstubben och en instans av RPC-kรถrtid kรถrs pรฅ klientdatorn.

Steg 2) En klient startar en klientstubprocess genom att skicka parametrar pรฅ vanligt sรคtt. Klientstubben lagras i klientens eget adressutrymme. Den ber ocksรฅ den lokala RPC Runtime att skicka tillbaka till serverstubben.

Steg 3) I detta skede, RPC nรฅs av anvรคndaren genom att gรถra en vanlig lokal procedurkal. RPC Runtime hanterar รถverfรถringen av meddelanden mellan nรคtverket รถver klient och server. Den utfรถr ocksรฅ jobbet med รฅtersรคndning, bekrรคftelse, routing och kryptering.

Steg 4) Efter att ha slutfรถrt serverproceduren รฅtergรฅr den till serverstubben, som packar (marshallar) returvรคrdena i ett meddelande. Serverstubben skickar sedan ett meddelande tillbaka till transportlagret.

Steg 5) I detta steg skickar transportlagret tillbaka resultatmeddelandet till klienttransportlagret, vilket returnerar ett meddelande till klientstubben.

Steg 6) I detta steg demarshallar (uppackar) klientstubben returparametrarna, i det resulterande paketet, och exekveringsprocessen รฅtergรฅr till den som ringer.

Egenskaper fรถr RPC

Hรคr รคr de vรคsentliga egenskaperna hos RPC:

  • Den anropade proceduren รคr i en annan process, som sannolikt finns i en annan maskin.
  • Processerna delar inte adressutrymme.
  • Parametrar skickas endast av vรคrden.
  • RPC kรถrs inom serverprocessens miljรถ.
  • Den ger inte รฅtkomst till anropsprocedurens miljรถ.

Funktioner i RPC

Hรคr รคr de viktiga funktionerna i RPC:

  • Enkel syntax fรถr samtal
  • Erbjuder kรคnd semantik
  • Ge ett vรคldefinierat grรคnssnitt
  • Den kan kommunicera mellan processer pรฅ samma eller olika maskiner

Fรถrdelar med RPC

Hรคr รคr fรถrdelar/fรถrdelar med RPC:

  • RPC-metoden hjรคlper klienter att kommunicera med servrar genom konventionell anvรคndning av proceduranrop pรฅ hรถgnivรฅsprรฅk.
  • RPC-metoden รคr modellerad pรฅ det lokala proceduranropet, men den anropade proceduren kommer troligen att exekveras i en annan process och vanligtvis en annan dator.
  • RPC stรถder process- och trรฅdorienterade modeller.
  • RPC gรถr den interna meddelandeรถverfรถringsmekanismen dold fรถr anvรคndaren.
  • Anstrรคngningen behรถver fรถr att skriva om och รฅterutveckla koden รคr minimal.
  • Fjรคrrproceduranrop kan anvรคndas fรถr distribuerad och lokal miljรถ.
  • Den binder mรฅnga av protokolllagren fรถr att fรถrbรคttra prestandan.
  • RPC ger abstraktion. Till exempel fรถrblir nรคtverkskommunikationens karaktรคr av meddelandeรถverfรถring dold fรถr anvรคndaren.
  • RPC tillรฅter anvรคndningen av applikationerna i en distribuerad miljรถ som inte bara finns i den lokala miljรถn.
  • Med RPC-kod minimeras omskrivning och omutveckling.
  • Processorienterade och trรฅdorienterade modeller stรถds av RPC.

Nackdelar med RPC

Hรคr รคr nackdelarna/nackdelarna med att anvรคnda RPC:

  • Fjรคrrproceduranrop passerar parametrar endast med vรคrden och pekarvรคrden, vilket inte รคr tillรฅtet.
  • Tid fรถr anrop (och retur) fรถr fjรคrrprocedurer (dvs. omkostnader) kan vara betydligt lรคgre รคn fรถr en lokal procedur.
  • Denna mekanism รคr mycket sรฅrbar fรถr misslyckanden eftersom den involverar ett kommunikationssystem, en annan maskin och en annan process.
  • RPC-konceptet kan implementeras pรฅ olika sรคtt, vilket inte รคr standard.
  • Inte erbjuder nรฅgon flexibilitet i RPC fรถr hรฅrdvaruarkitektur eftersom det mestadels รคr interaktionsbaserat.
  • Kostnaden fรถr processen รถkar pรฅ grund av ett fjรคrranrop.

Sammanfattning

  • Ett fjรคrranrop รคr ett interprocesskommunikation teknik.
  • Tre typer av RPC รคr 1) Callback RPC 2) Broadcast RPC och 3) Batch-mode RPC
  • RPC-arkitekturen har huvudsakligen fem komponenter i programmet: 1) Client 2) Client Stub 3) RPC Runtime 4) Server Stub och 5) Server
  • I RPC-metoden delar inte processerna adressutrymme
  • RPC erbjuder enkel samtalssyntax och kรคnd semantik
  • RPC-metoden hjรคlper klienter att kommunicera med servrar genom konventionell anvรคndning av proceduranrop pรฅ hรถgnivรฅsprรฅk.
  • Den stรถrsta nackdelen med RPC-metoden รคr att den รคr mycket sรฅrbar fรถr misslyckanden eftersom den involverar ett kommunikationssystem, en annan maskin och en annan process.

Sammanfatta detta inlรคgg med: