One of the implications of applying the microservices architectural style is that a lot of communication between components is done over the network. In order to achieve the promises of microservices, this communication needs to happen in a loosely coupled manner.
One option that many architects have in mind here is that all services expose an API following the REST architectural style. However, there is another option that provides even looser coupling: asynchronous messaging. In discussions with customers we saw that this option is not always on the radar of architects.
In this talk, we want to discuss some fundamental application integration patterns mostly based on messaging and connect them to real-world use cases in a micro services scenario. In doing so, we will also point out some benefits that asynchronous messaging can have over REST APIs for the communication between microservices.