The CSN team decided to scale the system both vertically and horizontally in terms of the RabbitMQ message broker by introducing more RAM and disk space on each of the RabbitMQ instance servers and change the RabbitMQ configuration parameters accordingly so that the broker can use more memory and disk space, if needed. The team also decided to introduce more RAM nodes for the chat queues along with a deployment of Nagios to monitor all the parts of the system (including the message broker) and send notifications to the team in case of issues with resource utilization based on defined thresholds.
Overview of this book
RabbitMQ is Open Source Message Queuing software based on the Advanced Message Queue Protocol Standard written in the Erlang Language. RabbitMQ is an ideal candidate for large-scale projects ranging from e-commerce and finance to Big Data and social networking because of its ease of use and high performance. Managing RabbitMQ in such a dynamic environment can be a challenging task that requires a good understanding not only of how to work properly with the message broker but also of its best practices and pitfalls. Learning RabbitMQ starts with a concise description of messaging solutions and patterns, then moves on to concrete practical scenarios for publishing and subscribing to the broker along with basic administration. This knowledge is further expanded by exploring how to establish clustering and high availability at the level of the message broker and how to integrate RabbitMQ with a number of technologies such as Spring, and enterprise service bus solutions such as MuleESB and WSO2. We will look at advanced topics such as performance tuning, secure messaging, and the internals of RabbitMQ. Finally we will work through case-studies so that we can see RabbitMQ in action and, if something goes wrong, we'll learn to resolve it in the Troubleshooting section.
Table of Contents (18 chapters)
About the Author
About the Reviewers
Design Patterns with RabbitMQ
Administration, Configuration, and Management
Performance Tuning and Monitoring
Contributing to RabbitMQ