Remote Procedure Call (RPC) protokoll az elosztott rendszerben
Mi az az RPC?
Távoli eljáráshívás (RPC) egy folyamatközi kommunikációs technika. Az RPC teljes formája a Remote Procedure Call. Kliens-szerver alkalmazásokhoz használják. Az RPC-mechanizmusok akkor használatosak, amikor egy számítógépes program egy eljárást vagy szubrutint egy másik címtérben hajt végre, ami normál eljáráshívásként van kódolva anélkül, hogy a programozó kifejezetten kódolná a távoli interakció részleteit.
Ez az eljáráshívás az alacsony szintű szállítási protokollokat is kezeli, mint például a User Datagram Protocol, Transmission Control Protocol/Internet Protocol stb. Az üzenetadatok programok közötti átvitelére szolgál.
Az RPC típusai
Az RPC három típusa:
- Visszahívás RPC
- RPC adás
- Batch-módú RPC
Visszahívás RPC
Ez a típusú RPC P2P paradigmát tesz lehetővé a résztvevő folyamatok között. Segít egy folyamatnak, hogy egyszerre legyen kliens és szerver szolgáltatás.
A visszahívási RPC funkciói:
- Távolról feldolgozott interaktív alkalmazási problémák
- Szervert kínál klienskezelővel
- A visszahívás várakoztatja az ügyfélfolyamatot
- A visszahívási holtpontok kezelése
- Megkönnyíti a peer-to-peer paradigmát a résztvevő folyamatok között.
RPC adás
A Broadcast RPC egy kliens kérése, amelyet a hálózaton sugároznak, és minden olyan szerver feldolgozza, amely rendelkezik a kérés feldolgozásának módszerével.
A Broadcast RPC funkciói:
- Lehetővé teszi annak megadását, hogy az ügyfél kérési üzenetét el kell küldeni.
- Deklarálhat szórási portokat.
- Segít csökkenteni a fizikai hálózat terhelését
Batch-módú RPC
A kötegelt módú RPC segít sorba rendezni, elkülöníteni az RPC kéréseket egy átviteli pufferben, a kliens oldalon, majd elküldi azokat a hálózaton egy kötegben a szervernek.
A kötegelt üzemmódú RPC funkciói:
- Minimálisra csökkenti a kérések elküldésével járó többletköltséget, mivel azokat a hálózaton keresztül egy kötegben küldi el a szervernek.
- Ez a fajta RPC protokoll csak azoknál az alkalmazásoknál hatékony, amelyeknek alacsonyabb hívási sebességre van szükségük.
- Megbízható átviteli protokollt igényel.
RPC Architectúra
Az RPC architektúra a program öt összetevőjéből áll:
- Vásárló
- Client Stub
- RPC futási idő
- Szerver csonk
- szerverünkhöz!
Hogyan működik az RPC?
Az RPC folyamat során a következő lépések zajlanak:
Step 1) A kliens, az ügyfélcsonk és az RPC futásidejű egy példánya az ügyfélgépen fut le.
Step 2) Az ügyfél a szokásos módon paraméterek átadásával elindít egy kliens csonkfolyamatot. Az ügyfél csonkja az ügyfél saját címterében tárolódik. Arra is kéri a helyi RPC Runtime-ot, hogy küldjön vissza a kiszolgáló csonkjának.
Step 3) Ebben a szakaszban az RPC-t a felhasználó normál helyi eljárási Cal. Az RPC Runtime kezeli az üzenetek továbbítását a hálózat között a kliens és a szerver között. Elvégzi az újraküldést, a nyugtázást, az útválasztást és a titkosítást is.
Step 4) A kiszolgálói eljárás befejezése után visszatér a kiszolgáló csonkjához, amely a visszatérési értékeket egy üzenetbe csomagolja (marshall). A kiszolgáló csonkja ezután üzenetet küld vissza a szállítási rétegnek.
Step 5) Ebben a lépésben a szállítási réteg visszaküldi az eredményüzenetet az ügyfél szállítási rétegének, amely visszaküldi az üzenetet az ügyfél csonkjának.
Step 6) Ebben a szakaszban az ügyfél csonkja demarshall (kicsomagolja) a visszatérési paramétereket az eredményül kapott csomagban, és a végrehajtási folyamat visszatér a hívóhoz.
Az RPC jellemzői
Íme az RPC alapvető jellemzői:
- A hívott eljárás egy másik folyamatban van, amely valószínűleg egy másik gépben található.
- A folyamatok nem osztanak meg címteret.
- A paramétereket csak értékek adják át.
- Az RPC a szerverfolyamat környezetében fut.
- Nem kínál hozzáférést a hívó eljárás környezetéhez.
Az RPC jellemzői
Íme az RPC fontos tulajdonságai:
- Egyszerű hívás szintaxis
- Ismert szemantikát kínál
- Biztosítson egy jól definiált felületet
- Képes kommunikálni az azonos vagy különböző gépeken lévő folyamatok között
Az RPC előnyei
Íme az RPC előnyei/előnyei:
- Az RPC módszer segíti az ügyfeleket a szerverekkel való kommunikációban a hagyományos eljáráshívások magas szintű nyelveken történő használatával.
- Az RPC metódus a helyi eljáráshívás mintájára készült, de a hívott eljárás nagy valószínűséggel egy másik folyamatban és általában egy másik számítógépen kerül végrehajtásra.
- Az RPC támogatja a folyamat- és szál-orientált modelleket.
- Az RPC rejtettvé teszi a belső üzenettovábbítási mechanizmust a felhasználó elől.
- A kód újraírásához és újrafejlesztéséhez szükséges erőfeszítés minimális.
- A távoli eljáráshívások felhasználhatók elosztott és helyi környezet céljára.
- Számos protokollréteget lekötelez a teljesítmény javítására.
- Az RPC absztrakciót biztosít. Például a hálózati kommunikáció üzenettovábbítási jellege rejtve marad a felhasználó előtt.
- Az RPC lehetővé teszi az alkalmazások használatát olyan elosztott környezetben, amely nem csak a helyi környezetben van.
- Az RPC kóddal az újraírási és újrafejlesztési erőfeszítés minimálisra csökken.
- Folyamatorientált és szál-orientált modellek támogatása az RPC által.
Az RPC hátrányai
Íme az RPC használatának hátrányai/hátrányai:
- A távoli eljáráshívás a paramétereket csak értékek és mutatóértékek alapján adja át, ami nem megengedett.
- A távoli eljáráshívási (és visszatérési) idő (azaz az általános költségek) lényegesen alacsonyabb lehet, mint egy helyi eljárásé.
- Ez a mechanizmus nagyon érzékeny a meghibásodásokra, mivel egy kommunikációs rendszert, egy másik gépet és egy másik folyamatot foglal magában.
- Az RPC koncepció többféleképpen is megvalósítható, ami nem szabványos.
- Nem kínál semmilyen rugalmasságot az RPC-ben a hardver architektúrához, mivel többnyire interakció alapú.
- A folyamat költsége megnő a távoli eljáráshívás miatt.
Összegzésként
- A távoli eljáráshívás egy folyamatok közötti kommunikáció technika.
- Az RPC három típusa: 1) visszahívásos RPC 2) Broadcast RPC és 3) kötegelt módú RPC.
- Az RPC architektúra a program öt összetevőjéből áll: 1) Client 2) Client Stub 3) RPC Runtime 4) Server Stub és 5) Server
- Az RPC módszerben a folyamatok nem osztanak meg címteret
- Az RPC egyszerű hívásszintaxist és ismert szemantikát kínál
- Az RPC módszer segíti az ügyfeleket a szerverekkel való kommunikációban a hagyományos eljáráshívások magas szintű nyelveken történő használatával.
- Az RPC módszer legnagyobb hátránya, hogy nagyon érzékeny a meghibásodásokra, mivel kommunikációs rendszert, egy másik gépet és egy másik folyamatot foglal magában.