There are a few ways for (micro-)services to communicate with other (micro-)services that can be rightfully classified as asynchronous1. But they have very different characteristics. Let’s have a look at them and their impact on the overall system structure. Asynchronous Option 1: Non-blocking network calls (e.g. HTTP, gRPC) On a low technical level, the term asynchronous is used to mean “not blocking the thread of execution”. If you call an asynchronous method, that method will be exec...