RabbitMQ Essentials
eBook - ePub

RabbitMQ Essentials

David Dossot

Compartir libro
  1. 182 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

RabbitMQ Essentials

David Dossot

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

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.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es RabbitMQ Essentials un PDF/ePUB en línea?
Sí, puedes acceder a RabbitMQ Essentials de David Dossot en formato PDF o ePUB, así como a otros libros populares de Informatica y Informatica generale. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2014
ISBN
9781783983209
Edición
1
Categoría
Informatica

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.

Índice