Protokol poziva udaljene procedure (RPC) u distribuiranom sustavu
Što je RPC?
Daljinski postupak poziva (RPC) je tehnika međuprocesne komunikacije. Puni oblik RPC-a je Remote Procedure Call. Koristi se za aplikacije klijent-poslužitelj. RPC mehanizmi se koriste kada računalni program uzrokuje izvršavanje procedure ili potprograma u drugom adresnom prostoru, koji je kodiran kao normalan poziv procedure bez programera koji posebno kodira detalje za daljinsku interakciju.
Ovaj poziv procedure također upravlja transportnim protokolom niske razine, kao što je protokol korisničkog datagrama, Transmission Kontrolni protokol/Internetski protokol itd. Koristi se za prijenos podataka poruka između programa.
Vrste RPC-a
Tri su tipa RPC-a:
- RPC povratnog poziva
- RPC emitiranja
- RPC u skupnom načinu rada
RPC povratnog poziva
Ova vrsta RPC-a omogućuje P2P paradigmu između procesa koji sudjeluju. Pomaže procesu da bude i usluga klijenta i poslužitelja.
Funkcije povratnog poziva RPC:
- Daljinski obrađeni problemi interaktivne aplikacije
- Nudi poslužitelj s rukovanjem klijentima
- Povratni poziv čini klijentski proces čekanjem
- Upravljanje zastojima povratnog poziva
- Olakšava peer-to-peer paradigmu među procesima koji sudjeluju.
RPC emitiranja
Broadcast RPC je zahtjev klijenta, koji se emitira na mreži, a obrađuju ga svi poslužitelji koji imaju metodu za obradu tog zahtjeva.
Funkcije emitiranog RPC-a:
- Omogućuje vam da odredite da se klijentova poruka zahtjeva mora emitirati.
- Možete deklarirati portove emitiranja.
- Pomaže smanjiti opterećenje fizičke mreže
RPC u skupnom načinu rada
Batch-mode RPC pomaže staviti u red čekanja, odvojiti RPC zahtjeve, u prijenosnom međuspremniku, na strani klijenta, a zatim ih poslati na mrežu u jednoj skupini na poslužitelj.
Funkcije RPC-a u skupnom načinu rada:
- Minimizira opterećenje uključeno u slanje zahtjeva jer ih šalje preko mreže u jednoj seriji na poslužitelj.
- Ova vrsta RPC protokola učinkovita je samo za aplikacije koje trebaju niže stope poziva.
- Potreban je pouzdan protokol prijenosa.
RPC Architektura
RPC arhitektura ima uglavnom pet komponenti programa:
- Klijent
- Stub klijenta
- RPC Runtime
- Server Stub
- Server
Kako radi RPC?
Tijekom RPC procesa odvijaju se sljedeći koraci:
Korak 1) Klijent, klijentski stub i jedna instanca RPC vremena izvođenja izvršavaju se na klijentskom stroju.
Korak 2) Klijent pokreće klijentski stub proces prosljeđivanjem parametara na uobičajeni način. Klijentski stub pohranjuje unutar klijentovog vlastitog adresnog prostora. Također traži od lokalnog RPC Runtimea da pošalje natrag na poslužiteljski stub.
Korak 3) U ovoj fazi, RPC kojem korisnik pristupa izvođenjem redovite lokalne proceduralne kal. RPC Runtime upravlja prijenosom poruka između mreže preko klijenta i poslužitelja. Također obavlja posao ponovnog slanja, potvrde, usmjeravanja i šifriranja.
Korak 4) Nakon dovršetka poslužiteljske procedure, vraća se u poslužiteljski stub, koji pakira (maršira) povratne vrijednosti u poruku. Poslužiteljski stub zatim šalje poruku natrag transportnom sloju.
Korak 5) U ovom koraku transportni sloj šalje poruku rezultata klijentskom transportnom sloju, koji vraća poruku klijentskom stubu.
Korak 6) U ovoj fazi klijentski stub demaršira (otpakira) povratne parametre u rezultirajućem paketu, a proces izvršenja vraća se pozivatelju.
Karakteristike RPC-a
Evo osnovnih karakteristika RPC-a:
- Pozvana procedura je u drugom procesu, koji se vjerojatno nalazi na drugom stroju.
- Procesi ne dijele adresni prostor.
- Parametri se prosljeđuju samo vrijednostima.
- RPC se izvršava unutar okruženja poslužiteljskog procesa.
- Ne nudi pristup okruženju procedure pozivanja.
Značajke RPC-a
Evo važnih značajki RPC-a:
- Jednostavna sintaksa poziva
- Nudi poznatu semantiku
- Osigurajte dobro definirano sučelje
- Može komunicirati između procesa na istim ili različitim strojevima
Prednosti RPC-a
Evo prednosti/prednosti RPC-a:
- RPC metoda pomaže klijentima da komuniciraju s poslužiteljima konvencionalnom upotrebom poziva procedura na jezicima visoke razine.
- Metoda RPC modelirana je na pozivu lokalne procedure, ali će se pozvana procedura najvjerojatnije izvršiti u drugom procesu i obično na drugom računalu.
- RPC podržava modele orijentirane na procese i niti.
- RPC čini unutarnji mehanizam za prijenos poruka skrivenim od korisnika.
- Napor potreban za ponovno pisanje i ponovni razvoj koda je minimalan.
- Pozivi udaljenih procedura mogu se koristiti za potrebe distribuiranog i lokalnog okruženja.
- Obvezuje mnoge slojeve protokola radi poboljšanja performansi.
- RPC pruža apstrakciju. Na primjer, priroda prijenosa poruka mrežne komunikacije ostaje skrivena od korisnika.
- RPC omogućuje korištenje aplikacija u distribuiranom okruženju koje nije samo u lokalnom okruženju.
- S RPC kodom, napor ponovnog pisanja i ponovnog razvoja je sveden na minimum.
- RPC podržava modele orijentirane na procese i niti.
Nedostaci RPC-a
Evo nedostataka/nedostataka korištenja RPC-a:
- Poziv udaljene procedure prosljeđuje parametre samo prema vrijednostima i vrijednostima pokazivača, što nije dopušteno.
- Vrijeme pozivanja (i povratka) udaljene procedure (tj. režijski troškovi) može biti znatno niže od onoga za lokalnu proceduru.
- Ovaj mehanizam vrlo je osjetljiv na kvar jer uključuje komunikacijski sustav, drugi stroj i drugi proces.
- RPC koncept se može implementirati na različite načine, što ne može biti standard.
- Ne nudi nikakvu fleksibilnost u RPC-u za hardversku arhitekturu jer se uglavnom temelji na interakciji.
- Trošak procesa je povećan zbog udaljenog poziva procedure.
rezime
- Poziv udaljene procedure je međuprocesna komunikacija tehnika.
- Tri vrste RPC-a su 1) povratni RPC, 2) emitirani RPC i 3) batch-mode RPC
- RPC arhitektura ima uglavnom pet komponenti programa: 1) klijent 2) klijentski stub 3) RPC runtime 4) serverski stub i 5) poslužitelj
- U RPC metodi procesi ne dijele adresni prostor
- RPC nudi jednostavnu sintaksu poziva i poznatu semantiku
- RPC metoda pomaže klijentima da komuniciraju s poslužiteljima konvencionalnom upotrebom poziva procedura na jezicima visoke razine.
- Najveći nedostatak RPC metode je da je vrlo osjetljiva na kvar jer uključuje komunikacijski sustav, drugi stroj i drugi proces.