- The producer establishes a connection to a RabbitMQ instance
- The producer creates exchanges and queues
- The producer binds queues to exchanges
- The producer publishes a message to an exchange
- The exchange routes the message to one or more available queues.
- Sometimes it discards the message altogether
- The consumer connects to one of the queues in the broker and consumes the available message
They are separate services
We need to start them in different terminals