What is Message Queuing

What is Message Queuing

From Online MQ

(Redirected from What is Message Queue?)
Jump to: navigation, search

Contents

What Is Message Queuing

Message Queuing (aka MQ) is a way for applications running on various platforms, at various times and various servers, to communicate with each other across heterogeneous networks that may be temporarily off-line. It provides a form of communication between applications without the hassle of dealing with low-level communication interfaces/protocols. You can think of it as an electronic mail service for applications and programs.

Without queuing, sending an electronic message from one application to another, over a network, requires every node on the route to be available for forwarding messages, as should be the receiving application.

Message Queuing Concept

In a queuing environment, messages between applications are stored in the queuing system and therefor only the queuing system must be available. After the message is put in the queuing system, it is made available by the queuing system to the receiving application .

Messages are stored in queues until an application is ready to read and process them; this is an asynchronous communications method. A synchronous method is also possible, using the Request-Reply mechanism.


Read more about the Message Queuing concept in the following links:

MQ Components

A queuing system consists of 3 parts: a Message, a Queue and a Queue Manager.

  • Message - A Message is data that is sent between two applications. The data is a byte-array, with a binary or textual content. It is essential of course that both the sending and the receiving applications agree about the format and structure of the data.
  • Queue - A Queue is a container that holds messages. Messages accumulate in queues until they are retrieved by the target programs. Applications can either put messages into a queue or read messages from a queue. A system can hold one or more queues.
  • Queue Manager - Queue Manager is a logical entity that manages queues. It can contain one of more queues, but every queue must reside in one queue manager. a machine can hold one or more queue managers.


Why Use MQ

There are many advantages in using MQ; here are some of them:

  • Ease of use - It is an easy way for programs, which may each be running in a different system or on a different network, to communicate with each other without having to write any communication code.
  • Indirect program-to-program communication - The application that sends the message and the application that receives the message do not need to be up and running at the same time. Messages will be queued in the MQ system until the receiving application is available to process them.
  • Load Balancing - Load balancing can be achieved on a busy system by arranging for more than one application instance to service a queue.
  • High Availability - Increase the availability of your applications by arranging for an alternative system to service the queues if your primary system is unavailable.


Read more about why MQ is so popular, in the following links:



What's next? Online MQ Overview - The Online MQ concept, compared with traditional MQ.