Remote Procedure Call (RPC) is a protocol that allows functions to be executed on a remote machine. It is particularly useful in distributed systems as it simplifies the interaction between clients and servers.
Use this profile to understand the building block briefly, place it in the model, and open related building blocks.
Technical building block: can be automated, integrated, or operated.
Concrete cog in the system that works inside larger relationships.
A remote procedure call (RPC) lets a process invoke a function on another machine as if it were local.
RPC was described in 1984 by Andrew D. Birrell and Bruce Jay Nelson at Xerox PARC. The line evolved from stubs and marshalling to standardized IDLs and modern frameworks such as gRPC; network failure and latency remain visible.
An RPC call is like postal delivery: the client packs arguments into a protocol, sends them to the server, which executes the procedure and returns a result or error. Local syntax hides transport but cannot remove its uncertainty.
Client and server stubs translate calls and results into transferable messages.
An interface or IDL defines operations, data types, and compatibility rules.
Timeouts, retries, partial failures, and version changes belong to the call model.
RPC simplifies distributed service interactions but requires deliberate error and timeout design. Choose it against other interfaces based on coupling, streaming, observability, contracts, and topology.
Where this building block is located in the topic model.
No structure path available.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.