In Microservice environments, it is considered good practice to establish one technology for synchronous communication and a second one for asynchronous communication. While the default choice for synchronous communication is usually REST+HTTP, there are many popular choices for asynchronous, message based, communication. The various technologies offer different characteristics in terms of performance, reliability guarantees, scalability, clustering options and advanced features like message routing.