Introduction
Messaging services help different parts of a system talk to each other without being directly connected. They solve the problem of making sure messages get delivered even if one part is busy or offline.
When you want to send notifications from one app to many users reliably.
When you need to connect different parts of your system that run separately and at different speeds.
When you want to make sure messages are not lost if a service crashes or restarts.
When you want to process tasks one by one without losing any requests.
When you want to scale parts of your system independently without breaking communication.