These formats provide a typed identity language for defining a structure for the messages. A compiler then generates the code that serializes and deserializes the messages for us (we will be seeing Apache Thrift later in the chapter). If the client has a statically typed language then the compiler checks if the API is used correctly or not. Avro, Thrift, and Google's protobuf are prominent binary message formats.
Now that we have a clear idea about communication essentials, we can move on to the next section on dependencies. Let's summarize the points before moving on.
You can opt for using commands and queries if the following use cases are met:
- In order to process the service request, the service client needs a response ...