Incomplete
This page is a work-in-progress and should considered neither complete nor correct at this point.
Join In
I have started a thread about this table on the dev mailing list - "0.6 Feature Matrix". Let us know what you think!
Related Pages
0.6 Feature Matrix
0.6 Interoperability Matrix
Protocol Features
AMQP
Advanced Message Queuing Protocol (AMQP) is an Open Messaging Middleware standard upon which Qpid's wire protocol is based. The standard is maintained by the AMQP Working Group. Currently the following versions of the protocol exist:
- 0-8, released June 2006. This is the first working version of AMQP.
- 0-9, released December 2006. This version improves reliability aspects of the protocol.
- 0-9-1, released November 2008 (after 0-10).
- 0-10, released February 2008.
- 1-0, not yet released, is slated to be the first stable release of AMQP. Version 1-0 is currently in final draft (PR2).
Producer Flow Control
The broker will throttle (reduce) the rate at which clients can publish messages if the broker starts to run low on resources or if queue size policies dictate.
For a detailed discussion, see the following pages:
Transactions
Local one-phase commit (1PC) transactions ensure atomicity over a number of otherwise disconnected actions on the broker (such as publishing or consuming a number of messages in a group). For local transactions, the broker creates an internal transaction ID and uses it to track the state of the transaction. The client must either commit or abort the transaction to close it.
Distributed Transactions
Distributed two-phase commit (2PC) transactions ensure atomicity over a number of otherwise disconnected actions on a distributed system (which involve two or more brokers and/or clients). This operation is usually coordinated by an external transaction monitor which creates transaction IDs and controls the state of the transaction.
For a detailed discussion, see the following resources:
The AMQP Distributed Transaction Classes
SSL
SSL allows IP communications between the broker(s) and client(s) to be encrypted.
For a detailed discussion, see the following resources:
SSL
Configure Java Qpid to use a SSL connection.
JMX SSL Configuration
FAQ
RDMA
Remote Direct Memory Access (RDMA) permits high-throughput, low-latency communications between broker(s) and client(s). Among its features is zero-copy networking in which the network hardware copies networked data directly to the application memory space without the use of operating system buffers. RDMA implementations include Infiniband and iWarp (which uses RDMA over TCP).