What is RabbitMQ?• Robust messaging for applications• Easy to use• Runs on all major operating systems• Supports a huge number of developer platforms• Open source and commercially supported
What is RabbitMQ?It is a messaging broker - an intermediary for messaging.It gives• your applications a common platform to send and receive messages• your messages a safe place to live until received
What can RabbitMQ do for you?• Messaging enables software applications to connect and scale• Applications can connect to each other, as components of a larger application, or to uses devices and data• Messaging is asynchronous, decoupling applications by separating sending and receiving data
Feature Highlights• Reliability• Flexible Routing• Clustering• Federation• Highly Available Queues• Many Clients• Managements UI• Tracing
Reliability• persistence• delivery acknowledgements• publisher confirms• high availability
Clustering & Federation• Clustering - Several RabbitMQ servers on a local network can be clustered together, forming a single logical broker.• Federation - For servers that need to be more loosely and unreliably connected than clustering allows.
Highly Available Queues /Many Clients• Highly Available Queues - Queues can be mirrored across several machines in a cluster, ensuring that even in the event of hardware failure your messages are safe.• Many Clients - There are RabbitMQ clients for almost any language you can think of.
Management UI / Tracing• Management UI - Allows to monitor and control every aspect of the message broker• Tracing - If the messaging system is misbehaving, RabbitMQ offers tracing support to let you find out whats going on.
RabbitMQ Use cases*• Publish / Subscribe Messaging• Reliable Delivery• Disaster Recovery and Replication• Scaling Applications, Work Offloading and Batch Processing• Real Time Data in the Browser
RabbitMQ Use cases• Cloud Computing: Management, Provisioning, Scaling and On-Demand Processing• Security and Multisite VPN Solutions• The Real Time Web and Content Streaming• Other Protocols: XMPP, STOMP, File Transfer• Mobile Phones and GPS• International Data Delivery Network
Publish / Subscribe Messaging• This is a very common pattern• Uses RabbitMQs AMQP direct exchange• Used for financial services data integration• Also used for adding o event management o group chat o "twitter like" capability to their applications, instead of dealing with market data
Thank youFor your attention by Karlen Kishmiryan (Sourcio CJSC)