Oddaljeni klic postopka (RPC) je močna tehnika za gradnjo porazdeljene aplikacije, ki temeljijo na odjemalcu in strežniku . Temelji na razširitvi običajnega lokalnega klicanja postopkov, tako da ni nujno, da klicana procedura obstaja v istem naslovnem prostoru kot klicna procedura . Procesa sta lahko v istem sistemu ali pa v različnih sistemih z omrežjem, ki ju povezuje.
Ko izvajate klic oddaljenega postopka:

1. Kličeče okolje je začasno ustavljeno, parametri postopka se po omrežju prenesejo v okolje, kjer naj se postopek izvede, in postopek se tam izvede.
kaj pomeni xd
2. Ko se postopek konča in proizvede svoje rezultate, se njegovi rezultati prenesejo nazaj v klicno okolje, kjer se izvajanje nadaljuje, kot da bi se vrnil iz običajnega klica procedure.
OPOMBA: RPC je še posebej primeren za odjemalec-strežnik (npr. poizvedba-odgovor) interakcija, v kateri poteka nadzor izmenično med kličočim in klicanim . Konceptualno se odjemalec in strežnik ne izvajata hkrati. Namesto tega nit izvajanja skoči s klicatelja na klicanca in nato spet nazaj.
Delovanje RPC

Med RPC se izvedejo naslednji koraki:
- Stranka prikliče a postopek odjemalca , ki posreduje parametre na običajen način. Odjemalska škrbina se nahaja v odjemalčevem naslovnem prostoru.
- Stranka škrbina marshalls (pack) parametre v sporočilo. Razvrščanje vključuje pretvorbo predstavitve parametrov v standardni format in kopiranje vsakega parametra v sporočilo.
- Odjemalska škrbina posreduje sporočilo transportnemu sloju, ki ga pošlje oddaljenemu strežniku.
- Na strežniku transportni sloj posreduje sporočilo strežniški škrbini, ki demarshalls (odpakirati) parametre in pokliče želeno strežniško rutino z uporabo mehanizma za klicanje redne procedure.
- Ko se postopek strežnika zaključi, se vrne v škrbino strežnika (npr. prek vrnitve klica običajne procedure) , ki razvršča povratne vrednosti v sporočilo. Strežniška škrbina nato preda sporočilo transportnemu sloju.
- Transportna plast pošlje sporočilo o rezultatu nazaj transportni plasti odjemalca, ki preda sporočilo nazaj škrbini odjemalca.
- Odjemalska škrbina demaršira vrnjene parametre in izvedba se vrne klicatelju.
Ključni premisleki za načrtovanje in implementacijo sistemov RPC so:
- Varnost: Ker RPC vključuje komunikacijo prek omrežja, je varnost glavna skrb. Za preprečevanje nepooblaščenega dostopa in zaščito občutljivih podatkov je treba izvesti ukrepe, kot so avtentikacija, šifriranje in avtorizacija. Razširljivost: Ko se število odjemalcev in strežnikov poveča, se zmogljivost sistema RPC ne sme zmanjšati. Tehnike uravnoteženja obremenitve in učinkovita uporaba virov so pomembne za razširljivost. Odpornost na napake: sistem RPC mora biti odporen na okvare omrežja, zrušitve strežnika in druge nepričakovane dogodke. Ukrepi, kot so redundanca, samodejni preklop in elegantna degradacija, lahko pomagajo zagotoviti toleranco napak. Standardizacija: Na voljo je več ogrodij in protokolov RPC in pomembno je, da izberete standardiziranega in splošno sprejetega, da zagotovite interoperabilnost in združljivost na različnih platformah in programskih jezikih. Nastavitev zmogljivosti: Natančna nastavitev sistema RPC za optimalno zmogljivost je pomembna. To lahko vključuje optimizacijo omrežnega protokola, zmanjšanje podatkov, ki se prenašajo po omrežju, ter zmanjšanje zakasnitve in stroškov, povezanih s klici RPC.
TEŽAVE RPC :
Težave, ki jih je treba obravnavati:
razvrsti matriko java
1. RPC Runtime:
Izvajalni sistem RPC je knjižnica rutin in nabor storitev, ki upravljajo omrežne komunikacije, ki so osnova mehanizma RPC. Med klicem RPC obravnava kodo izvajalnega sistema na strani odjemalca in strežnika povezovanje, vzpostavitev komunikacije prek ustreznega protokola, posredovanje podatkov o klicu med odjemalcem in strežnikom ter obravnavanje komunikacijskih napak.
2. škrbina:
Funkcija škrbine je, da zagotoviti preglednost aplikacijske kode, ki jo je napisal programer .
- Na strani odjemalca škrbina upravlja vmesnik med odjemalčevim klicem lokalne procedure in izvajalnim sistemom, razvršča in razvršča podatke, kliče izvajalni protokol RPC in na zahtevo izvaja nekatere korake povezovanja. Na strani strežnika škrbina zagotavlja podoben vmesnik med izvajalnim sistemom in postopki lokalnega upravljalnika, ki jih izvaja strežnik.
3. Vezava: Kako stranka ve, koga mora poklicati in kje je storitev?
Najbolj prilagodljiva rešitev je uporaba dinamične vezave in iskanje strežnika v času izvajanja, ko je RPC prvič narejen. Ko je škrbina odjemalca prvič priklicana, vzpostavi stik z imenskim strežnikom, da določi transportni naslov, na katerem se strežnik nahaja.
Vezava je sestavljena iz dveh delov:
- Mi:
- lociranje:
- Strežnik, ki ponuja storitev, izvozi vmesnik zanjo. Izvoz vmesnika ga registrira v sistemu, tako da ga lahko uporabljajo odjemalci. Odjemalec mora uvoziti (izvoženi) vmesnik, preden se lahko začne komunikacija.
4. Semantika klica, povezana z RPC:
V glavnem je razvrščen v naslednje izbire-
- Sporočilo z zahtevo za ponovni poskus –
Ali naj znova poskusi poslati sporočilo z zahtevo, ko je strežnik odpovedal ali prejemnik ni prejel sporočila. Filtriranje dvojnikov –
Odstranite podvojene zahteve strežnika. Ponovni prenos rezultatov –
Za ponovno pošiljanje izgubljenih sporočil brez ponovnega izvajanja operacij na strani strežnika.
PREDNOSTI:
primerjaj niz java
- RPC zagotavlja ABSTRAKCIJA tj. narava omrežne komunikacije, ki prenaša sporočila, je uporabniku skrita.
- RPC zaradi izboljšanja zmogljivosti pogosto izpusti številne plasti protokola. Tudi majhna izboljšava zmogljivosti je pomembna, ker lahko program pogosto kliče RPC-je.
- RPC omogoča uporabo aplikacij v porazdeljenem okolju, ne le v lokalnem okolju.
- Z RPC kodo je trud pri prepisovanju/ponovnem razvoju minimiziran.
- Procesno orientirani in nitno orientirani modeli, ki jih podpira RPC.
Reference:
- https://web.cs.wpi.edu/~cs4514/b98/week8-rpc/week8-rpc.html
- https://users.cs.cf.ac.uk/Dave.Marshall/C/node33.html
- Računalniška omrežja: Pristop od zgoraj navzdol avtor FOROUZAN