Understanding gRPC and how it is different from REST
gRPC is a way to communicate between services. You can think about it as a kind of API that sends the request to the server and expects some data to be returned. The main difference between a REST API and gRPC is the setup and the way it handles and transports data.
gRPC enables contract-based communication between the client and server. You can imagine this communication to be like a handshake between the client and server over available methods that can be used in future calls. Unlike in a REST API, in gRPC, the client and server share the same configuration, so both ends of the communication have the exact knowledge of the data structure of the transferred objects. The contracts in gRPC are called protocol buffers.
Another big difference between REST and gRPC occurs in terms of communication type. As we learned in the previous section, the REST API is used for communication with JSON or XML data serialization. gRPC, on the...