RabbitMQ is an open source message broker written in Java that acts as a broker of messages sitting between applications, allowing them to communicate asynchronously and reliably. It supports point-to-point and publish/subscribe messaging patterns. RabbitMQ is lightweight, supports multiple connectivity options and platforms, can be clustered for high availability, and includes features for administration, authentication, authorization, and integration.
2. 1. What is RabbitMQ?
- is an open source message broker written in Java.
- acts as a broker of messages which sits in between applications and allows
them to communicate in asynchronous and reliable way.
3. 2. RabbitMQ Messaging
1. Point to Point
- also called as Queue based communication where the Producer sends
messages to a queue and only one consumer gets one message from the
queue. If there is more than one consumer, they may get the next message
but they won’t get the same message as the other consumer.
4. 2. RabbitMQ Messaging
2. Publish/Subscribe
- the Broker sends same copy of messages to all the active consumers.
- this type of communication is also known as Topic based communication where broker sends same message to all
active consumer who has subscribed for particular Topic.
- this model supports one-way communication where no verification of transmitted messages is expected.
5. 3. Features
- LightWeight − RabbitMQ is lightweight and and is easy to install on premise as well as on cloud.
- Connectivity Options − RabbitMQ supports multiple messaging protocols and can be deployed in
distributed/federated configurations to meet high availability, scalability requirements.
- Pluggable Architecture − RabbitMQ allows to choose a persistence mechanism and also provides
options to customize security for authentication and authorization as per the application needs.
- Multi-Platform − RabbitMQ provides client APIs for many popular languages like Java, Python,
JavaScript, Ruby etc.
- Broker Cluster − RabbitMQ can be deployed as clusters for high availability and throughput. It can
be federated across multiple availability zones and regions.
- Features Rich − RabbitMQ provides many advanced features for both broker and clients.
6. 3. Features
- Simple Administration Interface − RabbitMQ administration console is easy to use but still
provides many powerful administration features.
- Enterprise and Cloud Ready − RabbitMQ supports pluggable authentication and authorization. It
supports LDAP and TLS. It can be easily deployed in public as well as private clouds.
- Features Rich − RabbitMQ provides many advanced features for both broker and clients. It
provides plugins to support continuous integration, operational metrics, and integration to other
enterprise systems etc.
- Management − RabbitMQ provides HTTP API, command line tool and UI to manage and monitor
RabbitMQ.