RPC: Remote Procedure Call. Sometimes called a remote function call, it is a call to a function whose implementation is on another node. Normally a part of a protocol specification

RPCs needs an RPC client/server to mediate the call.

  • Client marshals (encode) arguments and passes it to the server
  • Server unmarshals (decodes) arguments and runs the implementation
  • … same in reverse for response

Generally an HTTP request but other types of RPCs exists as well (e.g. gRPC)