[Introduction to Qpid of Apache]

Apache Qpid™ makes messaging tools that speak AMQP and support many languages and platforms.

 

AMQP is an open internet protocol for reliably sending and receiving messages. It makes it possible for everyone to build a diverse, coherent messaging ecosystem.

Qpid is an object-oriented message middleware developed by Apache. It is an implementation of AMQP and can communicate with other systems that conform to the AMQP protocol. Qpid provides client libraries for mainstream programming languages ​​such as C++/Python/Java/C#, which are very convenient to install and use. Compared to other AMQP implementations, the Qpid community is very active and is expected to become a standard AMQP middleware product. In addition to meeting the basic requirements of AMQP, Qpid provides many additional HA features, which are very suitable for message communication in a cluster environment.

 

 

Features

1)A flexible and capable reactive messaging API

2)Full control of AMQP 1.0 protocol semantics

3)Portable C implementation with bindings to popular languages

4)Pure-Java implementation

5)Peer-to-peer and brokered messaging

6)Secure communication via SSL and SASL

 

 

The challenge

Modern large-scale applications are rarely built as monoliths. Instead, they are built as distributed network applications, with parts of the application in distinct processes and distinct parts of the world.

All the same, the parts need to work together to behave as one reliable application. They need a way to communicate, and they must be able to tolerate failures.

 

Messaging is a better way

Modern messaging systems aren't the only way to get processes talking. Your application's parts can share a view into a database, or you can use HTTP and REST to expose information. But these approaches have some serious drawbacks. A database is reliable, but it isn't designed to intermediate communication. Its focus is storing data, not moving it between processes. REST helps you communicate efficiently, but it offers no reliability. If the party you're talking to is unavailable, the transmission is dropped.

A store-and-forward messaging system gives you efficient, reliable communication. Message brokers take responsibility for ensuring messages reach their destination, even if the destination is temporarily out of reach. Messaging APIs manage acknowledgments so that no messages are dropped in transit.



 

Communication is a basic requirement. Just as people need to communicate with each other, larger software systems often require internal or external communication.

The most basic communication method for communication between systems is socket, but socket is relatively low-level. It is very difficult to use. If some advanced features are required, a lot of programming burden is required.

Corresponding to the original socket, enterprise-level application software often has a variety of communication requirements ranging from simple to complex, manifesting in different communication models. Common ones are:

1) Point-to-point: A sends a message to B.

2) Broadcast: A message sent by A to all others

3) Multicast: A message sent by A to many but not all others.

4) Requester/response: Similar to the communication method of accessing a web page, the client sends a request and waits, and the server replies to the request

5) Pub-sub: Similar to magazine distribution, the people who publish the magazine don't know who is reading the magazine, and the people who subscribe don't care who is publishing the magazine. The publisher just gets the information out, and the subscribers get the information only when they need it.

6) Store-and-forward: The store-and-forward model is similar to letter delivery. The person who writes the letter writes the message to someone, but when the letter is sent, the person receiving the letter does not necessarily wait at home and does not know there is news give him. But the message will not be lost and will be placed in the recipient's mailbox. This model allows asynchronous exchange of information.

7) Other communication models

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326536862&siteId=291194637