In Event based communication, client sends the message with the help of message broker which can be received and processed by all the interested services.
When to use
When there is a single sender and multiple receivers
To decouple client and service(s).
To raise an integration event where side effects will be taken care by other services.
To process long running task.
When single event requires multiple tasks to be completed in backend.