RabbitMQ Essentials
eBook - ePub

RabbitMQ Essentials

David Dossot

Partager le livre
  1. 182 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

RabbitMQ Essentials

David Dossot

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

In Detail

With the advent of cloud computing, the need to design and build applications that can meet the demand and complexity of the modern world has never been greater. RabbitMQ is above all other forms of Message Queuing software thanks to its loosely coupled architecture and its ability to bind multiple languages, making modern web applications secure, scalable, and simple to maintain. However, in order to implement the best design and development practices when developing your messaging applications, you will need proper guidance on how to use RabbitMQ effectively.

Armed with this supportive guide, you now have the opportunity to get immediately stuck into developing your own message-based applications with RabbitMQ. Using the fictitious Clever Coney Media as a case study, you will follow their journey of developing with RabbitMQ; from implementing simple, synchronous get operations to using advanced message routing and tracking the messaging application. With RabbitMQ Essentials, you get to observe how using Message Queuing software can streamline the development of your own distributed and scalable applications.

Once you have familiarized yourself with the RabbitMQ setup, you will soon be creating your own inbox to send and receive messages through the combination of user-specific queues as well as bound and direct exchanges. After extending your messaging system by developing your own public address system, you will learn how to analyze traffic through your own application using a Python client. If you have ever feared losing messages, prepare to be amazed once you discover how to deal with dead letters and message rejection. To round off this crash-course in RabbitMQ, you will finally learn how to track your application and prevent something disastrous occurring to it.

With so many other Message Queuing software available to you, RabbitMQ Essentials will show you precisely why RabbitMQ is leaps and bounds above the rest when it comes to building your own message-driven applications.

Approach

This book is a quick and concise introduction to RabbitMQ. Follow the unique case study of Clever Coney Media as they progressively discover how to fully utilize RabbitMQ, containing clever examples and detailed explanations.

Who this book is for

Whether you are someone who develops enterprise messaging products professionally or a hobbyist who is already familiar with open source Message Queuing software and you are looking for a new challenge, then this is the book for you. Although you should be familiar with Java, Ruby, and Python to get the most out of the examples, RabbitMQ Essentials will give you the push you need to get started that no other RabbitMQ tutorial can provide you with.

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que RabbitMQ Essentials est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  RabbitMQ Essentials par David Dossot en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Informatica et Informatica generale. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Année
2014
ISBN
9781783983209
Édition
1

RabbitMQ Essentials


Table of Contents

RabbitMQ Essentials
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. A Rabbit Springs to Life
What is messaging?
A loosely coupled architecture
Meet AMQP
The RabbitMQ broker
A case for RabbitMQ
Getting RabbitMQ ready
Installing the broker
Installing the management plugin
Configuring users
Summary
2. Creating an Application Inbox
Connecting to RabbitMQ
Working with channels
Building the inbox
Sending user messages
AMQP message structure
Fetching user messages
Seeing it run
Adding topic messages
Summary
3. Switching to Server-push
Moving beyond polling
Consuming queues
Creating a consumer subscription wrapper
Babysitting subscriptions
Tying into the WebSocket endpoint
Running the application
Publishing to all queues
Binding to the fanout
Publishing to all
Running the application
Summary
4. Handling Application Logs
Publishing and consuming logs
Load testing AMQP
Running a load test
Prefetching messages
Messaging serendipity
Summary
5. Tweaking Message Delivery
Handling dead letters
Refactoring queues
Undertaking messages
Making delivery mandatory
Implementing the back-office sender
Summary
6. Smart Message Routing
Service-oriented messaging
Replying to queues
Routing service requests
Exposing the authentication service
Calling the authentication service
Summary
7. Taking RabbitMQ to Production
Tackling the broker SPOF
Mirroring queues
Connecting to the cluster
Federating brokers
Monitoring the broker
Summary
8. Testing and Tracing Applications
Testing RabbitMQ applications
Unit testing RabbitMQ applications
Integration testing RabbitMQ applications
Tracing RabbitMQ
Drinking at the Firehose
Summary
A. Message Schemas
User message
Authentication messages
Login
Request
Response
Logout
Request
Response
Generic error message
Index

RabbitMQ Essentials

Copyright © 2014 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 author, 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: April 2014
Production Reference: 1180414
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78398-320-9
www.packtpub.com

Credits

Author
David Dossot
Reviewers
Ken Pratt
Ken Taylor
Ignacio Colomina Torregrosa
HĂ©ctor Veiga
Commissioning Editor
Ashwin Nair
Acquisition Editor
Richard Harvey
Content Development Editor
Govindan K
Technical Editors
Shruti Rawool
Nachiket Vartak
Copy Editors
Aditya Nair
Kirti Pai
Project Coordinator
Puja Shukla
Proofreader
Ameesha Green
Indexer
Monica Ajmera Mehta
Graphics
Sheetal Aute
Ronak Dhruv
Abhinash Sahu
Production Coordinator
Alwin Roy
Cover Work
Alwin Roy
Cover Image
Sheetal Aute

Foreword

What gets me most excited about RabbitMQ is that people keep finding new and better ways to use it. Messaging has truly come of age and stands beside databases and web applications as a technology that every professional developer needs to know.
In 2006, when RabbitMQ was born, messaging was mostly used by companies that had way too many IT systems and desperately needed some way to connect them. Jargon words such as "pubsub" and "queue" were strictly for messaging geeks and highly paid integration consultants. But the world was already changing and we were about to find out why.
Today's software and web applications are increasing in scale rapidly. There are more users, apps, devices, places, and ways to connect; this creates a burning need to build more scalable applications. At the same time, these new applications have to integrate with existing systems and services written using any language or API you care to think of. There is only one way to deliver scalability in this kind of environment: use messaging. The best way to do that is via a product such as RabbitMQ.
We started RabbitMQ because there was no messaging tool that was really powerful and dependable, yet easy to get started with. We decided to make one. We hope you like it.
The fun part is designing the tool so that you, the developer, feel like RabbitMQ is actually helping you to build better apps, instead of getting in the way. Your use of the tool should grow with your system.
The hard part is balancing simplicity and power. With RabbitMQ, we think we got this about right. Developers have little tolerance for complexity and nonsense. But beware! There is such a thing as "fake simplicity"; if a tool makes promises that seem too good to be true, then something is almost certainly broken. A truly simple system makes its capabilities obvious when they are needed. RabbitMQ will never lie to you or conceal its true behavior and we think this is essential in a good tool.
In this book, David Dossot has shown how messaging can help anyone architect and design solid scalable apps and how RabbitMQ can deliver on this promise. In 2014, everyone can grok the basics of messaging. Read this book to get started.
Alexis Richardson
Former CEO, Rabbit Technologies Inc.

About the Author

David Dossot has worked as a software engineer and an architect for more than 18 years. He has been using RabbitMQ since 2009 in a variety of different contexts. He is the main contributor to the AMQP transport for Mule. His focus is on building distributed and scalable server-side applications for the JVM and the Erlang VM. He is a member of IEEE, the Computer Society, and AOPA, and holds a diploma in Production Systems Engineering from ESSTIN.
He is a co-author for the first and second editions of Mule in Action (Manning Publications Co.). He is a Mule champion and a DZone Most Valuable Blogger. He commits on multiple open source projects and likes to help people on Stack Overflow. He's also a judge for the annual Jolt Awards software competition.

Table des matiĂšres