The producer never sends any messages directly to a
queue. Instead, the producer can only send messages
to an exchange.
▪ Exchange has 2 sides: it receives messages from
producers, it pushes them to queues.
▪ Exchanges control the routing of messages to queues
according to exchange types.
▪ RabbitMQ uses a push model.
▪ Push-based queues can overwhelm consumers if
messages arrive faster than the consumers can process
them.
▪ Each consumer can configure a prefetch limit.
▪ Push model is to distribute messages individually and
quickly, and ensure that work is concurrent way.
▪ Messages are processed in the same order how they
arrived in the queue