Enterprise applications typically share data with other peer applications and provide a unified set of functionality. The communication across applications is facilitated by messaging systems which holds producers and consumers loosely coupled. The advantage of messaging system is that it doesn’t warrant both sender and receiver to be available at the same time to communicate with each other and also ensures flexible,reliable and active delivery of messages across the applications. There has been a flurry of messaging systems over the past two decades from different vendors ranging from Microsoft to IBM. RabbitMQ is a recent player in the middleware to join this race.
RabbitMQ is different from traditional messaging systems that it is free to use and comes with an optional commercial support . It is a multi-protocol, portable messaging system which could well be the game changer in next generation’s enterprise applications. Its integration capabilities with Spring framework makes it more alluring for the developer community as they migrate their existing applications to private and public cloud. Here are some of the aspects of RabbitMQ which makes it unique amidst other messaging systems,
- Market leader in AMQP – RabbitMQ, with its hundreds of production deployments and its increasing penetration into the Linux market along with widespread adoption in the cloud (Amazon,Engineyard et al) has clearly emerged as a market leader in AMQP. RabbitMQ with its .Net edition is the most deployed AMQP broker in Windows.
- Clustering and High Availability – RabbitMQ supports both active\passive and active\active (from version 2.6.0) modes of operation making it more reliable and fault tolerant as an enterprise messaging system. Clustering RabbitMQ is very simple which doesn’t warrant any load balancer or any software component whereas one of the nodes manages the master queue and distribute the messages across the slaves.
- Lower cost of management and maintenance – With just 12k lines of code and the core engine being written in Erlang/OTP which is known for its use in highly scalable telcos, RabbitMQ is capable of lowering the cost of management and maintenance drastically.
- Support across multiple platforms – RabbitMQ supports multiple platforms .This helps a lot of developers as most often their development and deployment are in different platforms.They also support wide range of protocols like HTTP,STOMP,SMTP and more.
Some good news from us!!. As a part of VMware vFabric family, RabbitMQ will now be supported by ManageEngine Applications Manager in a forthcoming release. The coalesce of RabbitMQ monitoring with VMware vFabric tc server monitoring will offer a deeper insight into performance of the applications. And for those who are curious, here is a sneak peek into what’s cooking in Applications Manager pertaining to RabbitMQ monitoring .
Queued Messages And Message Rates
Nodes
If the socket descriptors utilization is high , it may lead to performance bottleneck and it is also possible that some of the subsequent connections may get timed out.
Message rates of Queues
The performance of the messaging queues can be improved with the aid of the historical reports generated .
Channels
Exchanges
Connections
If there is a network congestion, it is possible to zero-in on the connection which is choking the bandwidth .
We believe the support for RabbitMQ along with VMware vFabric tc Server will further augment our monitoring capabilities for VMware virtualization infrastructure. If you are already using RabbitMQ and have any suggestions or feedback for this feature, please drop in a mail to appmanager-support@manageengine.com