Skip to content

Co je RPC (vzdálené volání procedur)

11 de Červenec de 2021
GettyImages 534785511 57d6f6c15f9b589b0a2955b1

Program v jednom počítači v síti používá vzdálené volání procedur k vyžádání programu v jiném počítači v síti, aniž by znal podrobnosti o síti. Protokol RPC je model síťového programování pro komunikaci mezi dvěma body v rámci nebo mezi softwarovými aplikacemi. RPC je také známé jako volání podprogramu nebo volání funkce.

Jak RPC funguje

V RPC odesílající počítač provede požadavek ve formě volání procedury, funkce nebo metody. RPC převádí tato volání na požadavky a odesílá je po síti do zamýšleného cíle. Příjemce RPC poté zpracuje požadavek na základě názvu procedury a seznamu argumentů a po dokončení odešle odpověď odesílateli. Aplikace RPC obvykle implementují softwarové moduly zvané „proxy“ a „stubs“, které zprostředkovávají vzdálená volání a zdají se jim programátorovi zdát stejné jako volání místních procedur. Aplikace volající RPC obvykle fungují synchronně a čekají, až vzdálená procedura vrátí výsledek. Použití odlehčených vláken se stejnou adresou však znamená, že může dojít k několika RPC současně. RPC obsahuje logiku časového limitu pro zpracování selhání sítě nebo jiných situací, kdy se RPC nevracejí.

Technologie RPC

RPC je běžnou programovací technikou ve světě Unixu od 90. let. Protokol RPC byl implementován v knihovnách Open Software Foundation v distribuovaném výpočetním prostředí i v knihovnách Sun Microsystems Open Network Computing, které byly široce nasazeny. Mezi novější příklady technologií RPC patří Microsoft DCOM, Java RMI a XML-RPC a SOAP.