This document outlines the system design for a demo project implementing RabbitMQ as a message broker. The project includes the following requirements:
- At least two channels
- Two or more message publishers for each channel
- Two or more consumers for each channel
- Two shared consumers for both channels (work interchangeably)
The system utilizes RabbitMQ as the message broker. Ensure RabbitMQ is installed and running.
-
Channel 1
- Two message publishers:
Publisher 1
,Publisher 2
- Two consumers:
Consumer 1
,Consumer 2
- Two message publishers:
-
Channel 2
- Two message publishers:
Publisher 1
,Publisher 2
- Two consumers:
Consumer 1
,Consumer 2
- Two message publishers:
- Responsible for publishing order messages from "Channel 1" to the message broker.
- Another publisher responsible for publishing order messages from "Channel 1" to the message broker.
- Responsible for publishing inventory messages from "Channel 2" to the message broker.
- Another publisher responsible for publishing inventory messages from "Channel 2" to the message broker.
- Consumes messages from "Channel 1".
- Another consumer for "Channel 1".
- Consumes messages from "Channel 2".
- Another consumer for "Channel 2".
- Consumes messages from both "Channel 1" and "Channel 2".
- Another shared consumer for both channels.
- RabbitMQ (Version 3.12.12) and Erlang (Version 26.2.1)
- Diagrams illustrating the flow of messages within each channel.
- Display an image while the application is running (✅🛒 while the publisher works, 🛍️ while the consumer works, 📦🛍️ where the shared consumer works).
View the PDF.