Message Queuing technology is a technique for exchanging information among distributed applications. Message Queuing can reside in memory or on disk, and queues store messages until they are read by the application. With Message Queuing, applications can execute independently-they do not need to know each other's location, or wait for the receiving program to receive this message before proceeding.
In distributed computing environments, in order to integrate distributed applications, developers need to provide effective means of communication for distributed applications in heterogeneous network environments. In order to manage the information that needs to be shared, it is important to provide the public information exchange mechanism for the application.
The messaging team is listed as a loosely coupled method for constructing distributed applications that are implemented synchronously or asynchronously. Message Queuing API calls are embedded in new or existing applications that provide information exchange by sending messages to memory or disk-based queues or reading them out. Message Queuing can be used in an app to perform a variety of functions, such as requiring services, exchanging information, or asynchronous processing.
Middleware is a kind of independent system software or service program, and distributed Application system uses this software to share resources among different technologies, manage computing resources and network communication. It is a key software in the computer system, it can realize the interconnection and interoperability of the application, and can ensure the safe, reliable and efficient operation of the system. The middleware is located between the user application and the operating system and the network software, it provides the common communication means for the application, and is independent of the network and the operating system. Middleware provides developers with an application interface for all environments, and when an application embeds its function calls, it can take advantage of the capabilities of the specific operating system and network environment it runs to perform communication functions for the application.
If there is no message middleware to complete the exchange of information, application developers in order to transfer data, it is necessary to learn how to use the network and operating system software functions, write the appropriate application to send and receive information, and exchange information there is no standard method, each application must be specific programming and multi-platform, Communication of one or more applications in different environments. For example, in order to achieve communication between different host systems on the network, it will require knowledge of how information is exchanged on the network (such as socket programming with TCP/IP), and in order to achieve communication between different processes within the same host, knowledge of the operating system's Message Queuing or named pipes (Pipes) will be required.
MQ's communication mode
1) Point-to-point communication: Point-to-point mode is the most traditional and common means of communication, it supports a pair of one or one-to-many, many-to-many, many-to-one multiple configuration, support tree-like, mesh and many other topologies.
2) Multipoint broadcast: MQ is suitable for different types of applications. One of the important, and growing, "multicast" applications is the ability to send messages to multiple target sites (Destination List). You can use an MQ directive to send a single message to multiple target sites and ensure that information is reliably provided for each site. Not only does MQ provide multicast functionality, but it also has intelligent message distribution, where MQ sends a copy of a message to multiple users on the same system and the list of recipients on that system to the target MQ system. The target MQ system replicates these messages locally and sends them to the queue on the list to minimize the amount of network traffic.
3) Publish/subscribe (publish/subscribe) mode: The Publish/Subscribe feature enables the distribution of messages to break through the boundaries of the destination queue's geographic direction, so that messages are distributed according to specific topics or even content, and users or applications can receive the required messages based on the subject or content. The Publish/Subscribe feature makes the coupling between sender and receiver looser, the sender does not have to care about the destination address of the receiver, and the receiver does not have to care about the sending address of the message, but simply sends and receives the message based on the subject of the message. In the MQ family product, MQ Event Broker is a product dedicated to data communication using publish/subscribe technology that supports both queue-based and directly TCP/IP two-based publishing and subscriptions.
4) Cluster (Cluster): To simplify system configuration in point-to-point communication mode, MQ provides a Cluster (cluster) solution. A cluster is similar to a domain, where communication between queue managers within a cluster does not require the creation of a message channel between 22, but instead uses the cluster (Cluster) channel to communicate with other members, greatly simplifying system configuration. In addition, the queue managers in the cluster can automatically load balance, and when a queue manager fails, the other queue manager can take over its work, thereby greatly improving the system's high reliability.