Oddbean new post about | logout
 Remote Procedure Call (RPC) is a protocol by which one bit of code can invoke functions on a different program, even if that program is running on a different machine, as if it was just another locally defined function.  There are a few flavors of RPC, but gRPC is the most common.  It uses a language called protobuf to define the inputs and outputs of each function, then uses that definition to automatically generate client code by which a program can invoke that remote procedure.

TL;DR—I could write code on my laptop that seamlessly uses other code living on a server in a data center hundreds of miles away.

In this scenario, gRPC encodes the messages between my computer and the remote server in binary, and transmits up to several at a time to maintain fast processing speeds.