Chapter 1. Instant RabbitMQ Messaging Application Development How-to

Welcome to Instant RabbitMQ Messaging Application Development How-to. This book will give you a quick, step-by-step introduction to the world of RabbitMQ and will demonstrate reasons for using RabbitMQ as I guide you through the process of decoupling a highly coupled e-commerce application using various messaging patterns, allowing us to scale, improving responsiveness, performance, throughput, and efficiency.

This book targets developers looking to take advantage of RabbitMQ as a message broker on any platform using any language. The examples in this book are written in server-side JavaScript with Node.js.

Head over to GitHub and clone/download the example source code repository for this book from www.github.com/AndrewKeig/rabbitmq-messaging-application-development.

What can RabbitMQ do for you?

RabbitMQ (www.rabbitmq.com) is an open source message broker that implements version 0-9-1 of the AMQP (Advanced Message Queuing Protocol). It is an open standard, networking wire-level protocol, which allows client applications that conform to the AMQP standard, to communicate with AMQP brokers. For more information on the AMQP standard, read the specifications at https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf.

AMQP originated in the financial services industry. Its main aim was to define an interoperable messaging protocol which allowed organizations to move away from expensive vendor-specific messaging implementations without breaking existing applications.

The RabbitMQ implementation of AMQP was developed and supported through Rabbit Technologies Ltd., a joint venture between Lshift and Cohesive Flexible Technologies. RabbitMQ is now maintained by SpringSource, a division of VMware. The RabbitMQ server is written in Erlang and is built on the Open Telecom Platform framework: erlang-solutions.com.

Message brokers enable software applications to connect to each other as components of a larger application. The reasons for using a message broker are as follows:

  • Scalability: Distribute time-consuming tasks among multiple workers
  • Responsiveness: Process tasks asynchronously and improve response times
  • Availability: Cluster applications for improved availability of service
  • Complexity: Decoupling simplifies application development
  • Efficiency: Avoid polling for changes with publish/subscribe
  • Extendability: Add new services which respond to existing messages
  • Interoperability: Write systems composed of services written in different languages
  • Maintainability: Maintain/take down your application without losing messages
  • Robustness: Defer data consumption without fear of losing data
  • Reliability: Persist and acknowledge messages for improved reliability
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.210.91