Skip to content

Remote procedure call

Category: Distributed systems · Status: stub

One line: Calling a function that runs on another machine as though it were local — convenient until the network fails in a way no local call can.

Also called: RPC, RMI, remote method invocation.

How it connects

In each language

Go net/rpc, frozen and not accepting new features
Java RMI ↗: an object in one Java virtual machine invokes methods on an object in another
Python xmlrpc, remote procedure calls as XML over HTTP
C# gRPC on ASP.NET Core ↗
Erlang and Elixir erpc, enhanced remote procedure calls to functions on other nodes
Elsewhere gRPC ↗: services described in Protocol Buffers, with a deadline on each call

Where to read more