Asynchronous communication basics
In this section, we are going to cover some theoretical aspects of asynchronous communication. You will learn the benefits and the common issues of an asynchronous communication model, and the common ways of using it, as well as getting some real-world examples of asynchronous communication.
Asynchronous communication is communication between a sender and one or multiple receivers, where a sender does not necessarily expect an immediate response to their messages. In the synchronous communication model, which we covered in Chapter 5, the caller sending the request would expect an immediate (or nearly immediate, taking into account network latency) response to it. In asynchronous communication, it may take an arbitrary amount of time for the receiver to respond to the request, or to not respond at all (for example, when receiving a no-reply notification).
We can illustrate the differences between the two models using two examples. An example of...