Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

RabbitMQ Cookbook
RabbitMQ Cookbook
RabbitMQ Cookbook
Ebook734 pages3 hours

RabbitMQ Cookbook

Rating: 0 out of 5 stars

()

Read preview

About this ebook

A practical book filled with advanced recipes as well as plenty of code and real-life examples which will make your learning curve quick and easy.If you are a software developer who wants to develop distributed applications based on messaging, then this book is for you. It’s assumed that you have some experience with multithreading applications and distributed applications. You are also expected to know the basic concepts of Web and cloud applications in order to follow the recipes effectively.
LanguageEnglish
Release dateDec 24, 2013
ISBN9781849516518
RabbitMQ Cookbook

Related to RabbitMQ Cookbook

Related ebooks

Computers For You

View More

Related articles

Reviews for RabbitMQ Cookbook

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    RabbitMQ Cookbook - Sigismondo Boschi

    Index

    RabbitMQ Cookbook


    RabbitMQ Cookbook

    Copyright © 2013 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    First published: December 2013

    Production Reference: 1171213

    Published by Packt Publishing Ltd.

    Livery Place

    35 Livery Street

    Birmingham B3 2PB, UK.

    ISBN 978-1-84951-650-1

    www.packtpub.com

    Cover Image by Sandeep Vaity (<sandeep.vaity@yahoo.com>)

    Credits

    Authors

    Sigismondo Boschi

    Gabriele Santomaggio

    Reviewers

    Lucas Hrabovsky

    Jorge Puente Sarrín

    Ken Taylor

    Ignacio Colomina Torregrosa

    Héctor Veiga

    Acquisition Editors

    Usha Iyer

    Llewellyn Rozario

    Lead Technical Editor

    Chalini Snega Victor

    Copy Editors

    Alisha Aranha

    Roshni Banerjee

    Dipti Kapadia

    Karuna Narayanan

    Kirti Pai

    Shambhavi Pai

    Alfida Paiva

    Laxmi Subramanian

    Technical Editors

    Shubhangi Dhamgaye

    Novina Kewalramani

    Pratik More

    Suneeth Nair

    Rohit Kumar Singh

    Project Coordinator

    Anugya Khurana

    Proofreader

    Linda Morris

    Indexer

    Tejal Soni

    Graphics

    Ronak Dhruv

    Abhinash Sahu

    Production Coordinator

    Adonia Jones

    Cover Work

    Adonia Jones

    About the Authors

    Sigismondo Boschi is a software developer currently involved in projects of messaging and networking distributed applications.

    Prior to this, he has had more than 10 years' experience working with distributed applications and message-passing paradigms. He first acquired a PhD in Computational Physical Chemistry from the University of Bologna, and then has worked in the Development of Scientific High Performance Computing Projects.

    To my wife, Maria Luisa, and my children, Gaia and Marco.

    Gabriele Santomaggio has worked in the IT industry for more than 15 years. He is a developer, and very keen on middleware and distributed applications. Currently, he is working on high-performance Java applications.

    He is the member of a big IT Italian community (www.indigenidigitali.com/) where he has published some posts about Amazon Web Services and message-oriented middleware (http://blog.indigenidigitali.com/tag/gabriele-santomaggio/).

    He likes running and listening to jazz music.

    To my beautiful wife, Dia, and my little ninja turtle, Riccardo, with love.

    About the Reviewers

    Jorge Puente Sarrín is a Peruvian software developer, currently working at Red Científica Peruana (RCP) as a software architect designing service-based solutions. He is a passionate developer focused on building distributed systems solutions using asynchronous programming with Python and .NET. Also, he has been contributing towards the translation of documentation projects and online courses into Spanish. He is a proud member of Masters of MongoDB, a group of persons who are promoting MongoDB around the world.

    Ken Taylor has worked in software development and technology for over 15 years. During the course of his career, he has worked as a systems analyst on multiple software projects in several industries as well as with the state government. He has used RabbitMQ for messaging on multiple projects as a way of scaling and as an integration point. He is a member and speaker of the 757 Ruby users group and the Hampton Roads .NET users group (HRNUG). Ken holds an A.S. in Computer Science from Paul D. Camp Community College and was awarded a U.S. Patent for a Real Estate financial software product. He is currently working at Outsite Networks Inc. in Norfolk, Virginia. He lives in Suffolk, Virginia with his lovely wife Lucia and his two sons, Kaide and Wyatt.

    I would like to thank my wife for her support while writing this book and my sons for reminding me of the importance of being inquisitive. Thank you Packt Publishing for asking me to participate as a technical reviewer for this excellent resource on RabbitMQ.

    Ignacio Colomina Torregrosa is a technical engineer in telecommunications and a master in free software. He works as a PHP/Symfony developer and has had experience using RabbitMQ as a tool to optimize and improve the performance of web applications that deal with large amounts of traffic.

    Héctor Veiga is a software engineer specializing in real-time data integration. Recently, he has focused his work on different cloud technologies (AWS, Heroku, OpenShift, and so on) to develop scalable, resilient, and high-performing applications that are able to handle high-volume, real-time data in diverse protocols and formats. Additionally, he has a strong knowledge of messaging systems, such as RabbitMQ and AMQP. Also, Héctor has a Master's degree in Telecommunication Engineering from the Universidad Politécnica de Madrid and a Master's degree in Information Technology and Management from the Illinois Institute of Technology.

    Héctor currently works at HERE as part of Global Data Integration team and is actively developing scalable applications to consume data from several different sources. HERE heavily utilizes RabbitMQ to address their messaging requirements. In the past, Héctor has worked at Xaptum Technologies, a company dedicated to M2M technologies.

    I would like to thank my family and friends for their support. They showed me that giving up was not an option and that you just need to keep pushing. Also, I am greatly thankful for the opportunity I was given to live and work in a foreign country. Finally, I would like to acknowledge Steve Fosdal who has been my friend and RabbitMQ colleague during this journey.

    www.PacktPub.com

    Support files, eBooks, discount offers and more

    You might want to visit www.PacktPub.com for support files and downloads related to your book.

    Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at for more details.

    At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

    http://PacktLib.PacktPub.com

    Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books. 

    Why Subscribe?

    Fully searchable across every book published by Packt

    Copy and paste, print and bookmark content

    On demand and accessible via web browser

    Free Access for Packt account holders

    If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.

    Preface

    The RabbitMQ Cookbook covers RabbitMQ and the corresponding AMQP protocol.

    Even the less-experienced programmer can find a lot of information that is useful to start developing messaging applications using RabbitMQ, especially in the first few chapters.

    However, in order to fully appreciate some of the chapters of the book, the reader should also know the basic concepts about web and cloud applications.

    The book is full of examples that show you how to use RabbitMQ in very disparate scenarios, in different technologies, right from single hosts to geographically replicated high-availability clusters. Mostly everyone working with these technologies will find a lot of useful information within this book.

    What this book covers

    Chapter 1, Working with AMQP, introduces the basic concepts of AMQP, the Advanced Message Queuing Protocol, on which RabbitMQ is based. It shows how the fire-and-forget messaging model works and how to use it from clients.

    Chapter 2, Going beyond the AMQP Standard, covers the RabbitMQ extensions of AMQP and how they can be used to increase the efficiency of messaging applications.

    Chapter 3, Managing RabbitMQ, explains how to configure RabbitMQ parameters, enable RabbitMQ plugins, and monitor RabbitMQ activities.

    Chapter 4, Mixing Different Technologies, covers the integration of different technologies with other protocols, such as MQTT, STOMP, and JSON.

    Chapter 5, Using RabbitMQ in Web Applications, shows how to develop web applications with RabbitMQ as a service bus.

    Chapter 6, Developing Scalable Applications, explains how to create scalable and robust applications using RabbitMQ clustering.

    Chapter 7, Developing High-availability Applications, covers the high-availability options offered by RabbitMQ.

    Chapter 8, Performance Tuning for RabbitMQ, explains how to optimize the performance of applications based on RabbitMQ in different scenarios.

    Chapter 9, Extending RabbitMQ Functionality, covers the use and development of RabbitMQ plugins.

    Chapter 10, RabbitMQ on AWS, explains how to deploy RabbitMQ applications on Amazon Web Services.

    Chapter 11, AMQP and Cloud Computing – RabbitMQ on PaaS, explains how to deploy and use RabbitMQ on Cloud Foundry.

    Chapter 12, Managing RabbitMQ Error Conditions, explains how to diagnose and deal with RabbitMQ error conditions.

    What you need for this book

    You can use Linux/Unix, Mac OS X, or Windows as the operating system since RabbitMQ is cross-platform middleware. Most of the examples have been developed in Java, but to execute other recipes, you will also

    Enjoying the preview?
    Page 1 of 1