You are previewing RabbitMQ Essentials.
O'Reilly logo
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
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    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