Explain RPC like I'm Five

I'm having a little trouble understanding RPC, especially compared to say Rest API's or using protobufs to send and receive data, so please explain RPC like I'm Five?

Did you find this post useful? Show some love!

RPC == Remote Procedure Call


A function or method that does something meaningful and worth the efforts. Has knowledge about your business logic.

Procedure Call:

The action of invoking a function/method to execute the logic contained within


Not in close proximity.

Remote Procedure Call:

Invoking a function/method that is not in proximity to the caller.

Proximity in Context of code:

--------------ENV 1----------------
Method A
Method B
--------------ENV 1----------------

-------------------ENV 2----------------
Method C
Method D
-------------------ENV 2----------------

Between ENV 1 and ENV 2,

  • methods A & B are in proximity i.e. within the same execution environment
  • methods C & D are in proximity i.e. within the same execution environment
  • methods C & D are remote to methods A & B, and vice-versa

The execution environments are capable of communication among themselves via a given medium, which can be

  • Inter-process communication
  • Over the wire (HTTP)
  • a few more

Any invocation methods A & B within ENV 2, and any invocation methods C & D within ENV 1, is to be referred to as RPC.

Classic DEV Post from Jan 30

Describe the worst coding culture you've been a part of

There are a lot of ways to have bad culture, and coding is sometimes the least ...

Follow @ben to see more of their posts in your feed.
Martin Becker
Trending on dev.to
Ways to earn from Open Source Project as an Owner
#healthydebate #discuss #hacktoberfest
What discontinued company/product do you wish was still around?
Any idea how to start blogging as a developer?
#discuss #idea #blog
I'm a software developer and a meditation teacher - ask me anything!
#ama #productivity #softskills
The Most Important Non-Programming Skills for Programmers
#career #leadership #tips #culture
Learning the Granular Details of a Programming Language?
#discuss #javascript
Let's talk about the state of auto-generated documentation tools for JavaScript
#discuss #javascript #tools
What types of features typically lead to lots of tech debt?