Like many JMS messaging servers, does RabbitMQ have Fault tolerance, load balancing mechnism ? JMS servers generally use JMX console to monitor the behavoir of server. Does RabbitMQ has monitoring tools ?
RabbitMQ has many ways of implementing fault tolerance depending on the actual needs of your applications.
You can do simple RabbitMQ clustering, where you end up with various RabbitMQ brokers acting together to server requests. In this case all the queue/exchange meta-information is shared across servers, but not queue contents.
Another option is to leverage "Mirrored Queues" aka "Ha Queues". In this case you declare queues as mirrored and then they will reside at various servers in your cluster.
We explain both kinds of clustering from chapter 5 till 7 of the book.
On chapter 8 we introduce the Management Plugin that will provide you with a Management Web UI for RabbitMQ so you could control the broker from your browser. The advantage of the Management Plugin is that it provides a REST API so you can easily script broker management as we explain in Chapter 9 and 10. In the last chapter we explain consumer monitoring more in detail.
Another feature that the Management Plugin provides is the ability to see metrics related to message ingress/egress, connected clients, number of queues/exchanges, and so on.