- Application contains multiple loosely coupled microservices
- Individual Technology Stack
- Communication between microservices with service bus
- Separation of Concern
- Synchronous communication was never a problem in relatively small monolithic applications because it is a very simple concept to reason about.
- The client sends a request to the server, and the server responds to the client.
- An advantage of synchronous communication is that the service receives an acknowledgement that the request was received, and the corresponding action was executed.
- When using asynchronous communication, the calling service does not wait for a response from the called service.
- Asynchronous communication also allows the possibility of One-To-Many communication, where a client can send a message to multiple services at once.
- Install below software on local machine.
- ErLang: https://www.erlang.org/downloads
- RabitMQ: https://www.rabbitmq.com/download.html
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.11.10\sbin
3. Then run below command
rabbitmq-plugins enable rabbitmq_management
4. Open browser and navigate to the url to open rabitmq in browser- http://localhost:15672
5. Install nuget package RabbitMQ Client into required service