Book Image

Learning RabbitMQ

By : Martin Toshev
Book Image

Learning RabbitMQ

By: Martin Toshev

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)
Learning RabbitMQ
About the Author
About the Reviewers

Points for contribution

You can write for the RabbitMQ discussion lists if you are willing to contribute a plug-in for RabbitMQ (it may turn out that someone else is already writing or has already written about a similar plug-in). If you are eager to contribute to the RabbitMQ code base, you may start by first forking the particular RabbitMQ repository and writing good unit tests for the features that are not sufficiently covered by tests. After that, you can prepare a pull request for the particular RabbitMQ repository and incorporate a feedback on your changes. Another thing is improvements in the source code—although Erlang sources are quite concise, it isn't impossible to put some code here and there—if you do this then you can contribute by preparing a pull request with improvements; however, first you need to make sure that someone else is not working on the same issue by checking the issue list for the corresponding RabbitMQ project in GitHub.