gRPC is a RPC framework that uses HTTP/2 as transport protocol and Protocol Buffers as serialization format.
It provides the ability to define RPC services and generate the client and server code for the services. It also offers authentication, context propagation and documentation generation.
An example of how to use gRPC and Protocol Buffers to implement a microservice API is available in Chapter 5. Synchronous Communication of Microservices with Go.