Overview of gRPC
gRPC is an open-source, platform neutral, and language agnostic remote procedure call framework developed by Google. gRPC uses HTTP/2 as the transport and protocol buffers as the interface definition language and the message exchange format. gRPC is a self-referential acronym that stands for gRPC Remote Procedure Calls.
A gRPC service definition, which is contained in a proto file, specifies the methods that can be called remotely and identifies the request and response messages for each method. A proto file can contain multiple gRPC service definitions.
gRPC provides a protobuf compiler and protocol buffer compiler plug-ins in a variety of languages to generate server or client code that handles the details of data serialization and the protocol implementation. On the server side, a gRPC server application implements the methods and registers itself with a gRPC server to listen for and handle client requests. On the client side, the client contains a gRPC stub that mirrors the methods available on the server. The client code can invoke the methods. The generated gRPC client stub then exchanges messages with the gRPC server, serializing and deserializing the request and response messages.