Mike Willbanks Sr. Software Engineer at CaringBridge Blog: http://blog.digitalstruct.com Twitter : mwillbanks IRC : lubs on freenode Talk: http://joind.in/1375 The Art of Message Queues ConFoo.ca 2010
“ Message queues and mailboxes are software-engineering components used for interprocess communication, or for inter-thread communication within the same process. They use a queue for messaging – the passing of control or of content.” http://en.wikipedia.org/wiki/Message_queue
“ Messaging describes the sending and receiving of data (in the form of messages) between systems. Messages are exchanged between programs or applications, similar to the way people communicate by email but with guarantees on delivery, speed, security and the absence of spam.” http://www.rabbitmq.com/faq.html#what-is-messaging
A Basic Message Queue
What are Message Queues
An application framework for sending and receiving messages.
Message Oriented Middleware aka Enterprise Service Bus
A way to communicate between applications / systems.
A way to decouple components.
A way to offload work.
Why are Message Queues Useful?
Communication between Applications / Systems
Sending out Emails
Auto-Scaling Virtual Instances
You Might Use a Message Queue If...
The request can be fulfilled in the background.
You need to communicate between multiple applications / systems.
You have a limited number of processing slots.
You need to support legacy applications or use multiple programming languages.