RabbitMQ Essentials

Book description

Hop straight into developing your own messaging applications by learning how to utilize RabbitMQ

In Detail

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.

Armed with this supportive guide, you now have the opportunity to get stuck into developing your own message-based applications immediately 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 will observe how using message queuing software can streamline the development of your own distributed and scalable applications.

What You Will Learn

  • Familiarize yourself with the basics of RabbitMQ to start building your own messaging applications
  • Get to know how Clever Coney Media implemented RabbitMQ to improve the development of applications
  • Publish, receive, and reject messages
  • Route messages by using direct, topic, fanout, and header exchanges
  • Create your own application inbox and public address system using Java and Ruby
  • Analyze the traffic of your applications using a Python client
  • Solve any emergencies using an eviction strategy, smart message routing, clustering, and federation
  • Monitor the health of your application by learning how to track it

Table of contents

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

Product information

  • Title: RabbitMQ Essentials
  • Author(s): David Dossot
  • Release date: April 2014
  • Publisher(s): Packt Publishing
  • ISBN: 9781783983209