Introduction to synchronous communication
In this section, we are going to cover the basics of synchronous communication and introduce you to some additional benefits of Protobuf that we are going to use for our microservices.
Synchronous communication explains how network applications, such as microservices, interact and is where services exchange data using a request-response model. This process is illustrated in the following diagram:

Figure 5.1 – Synchronous communication
Requests and responses can either take the form of individual messages or be represented as sequences of messages, called streams. Consider a video streaming service: a client would be sending a request to get a long video and get the response from a server as a sequence of messages, each containing a small chunk of video data.
There are many protocols for synchronous communication between services. HTTP is one of the most popular among them.
Each communication protocol defines...