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.