This document compares REST and gRPC for microservices communication. It discusses how gRPC addresses limitations of REST like inefficient binary encoding and lack of bidirectional streaming. gRPC uses protocol buffers for interface definition and code generation. It supports multiple languages and platforms and uses HTTP/2 for performance. Companies like Google and Netflix use gRPC for its performance advantages. The document provides examples of unary, server streaming, client streaming and bidirectional streaming RPC calls in gRPC. It recommends using gRPC for microservices and client-server applications where performance is important.