3. What is RabbitMQ
RabbitMQ
Broker/ Message Server
Erlang
AMQP
Language Agnostic
Celery
● Dynamic high level lib
● Synchronous/Asynchronous task
queue processing
● Scheduling tasks
● Monitoring based
● Python
● RabbitMQ client
● It’s also a server
4. Some RabbitMQ Features
No message loss
Persistent messages
Publish confirms
Message acknowledgment
Mirrored queues
Message priority
Dead letter exchange
Alternate exchange
Messages and Queues TTLs
Federation
9. Topologies - We started with Canonical Data Models
Do not go for “fully connected”, Canonical approach is best!
10. What exactly are we trying to achieve?
Low latency. The message shouldn’t take long
to get to its destination.
Leaky buffer control. Acknowledgement.
Resilient system. Able to recover from failures.
You don’t lose data.
Connection failure. When the server is offline
● Fault tolerance. Celery Retry/ Dead Letter