Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you need another client, join the lists and ask or feel free to contribute one.

What messaging topologies are supported by AMQP and Qpid?

AMQP provides the ability to do Point-to-Point, Peer-to-Peer, Pub-Sub, and Eventing. This allows many patterns to be craeted:

...

Store-and-forward can be achieved by publishing to well know durable queues, that are not marked with auto delete. Consumers will be able to 'came back' to consume then at any time, even after restarts.

What AMQP and other exchanges does Qpid support?

Both brokers support:

  • Direct Exchange
  • Topic Exchange
  • Fanout Exchange
  • Headers Exchange

In additional the C++ broker support

  • XML Exchange - Query routing
  • Custom exchange via plug-in.

Custom exchanges allow you to provide your own custom routing logic and algorithms via a plug-in. If you build an interesting exchange, please feel free to contribute it back to the Qpid project.

Security

What encryption does Qpid support?

...

Latencies have been recored as low as 180-250us (.18ms-.3ms) for TCP round trip and 60-80us for RDMA round trip using the C++ broker.

How do I measure throughput?

There is a great resource supplied in the C++ broker test directory called perftest. If allows you to create load on a broker for all the exchanges, multiple queues, multiple connection, coordinate multiple publishing and consuming processes, beachmark transactions and much much more such as acquire mode, txn size, message size.

For all the options

Code Block

./perftest --help

How do I measure latency?

There is a great resource supplied in the C++ broker test directory called latencytest. It is a loopback test that produces messages by count or at a rate, time stamps them and then consumes them back and record the latency. It supports many of the Qpid options, including the ability to vary things like frame-size.

Latencies to expect round trip:

  • 1G TCP ~ .3ms -.5ms
  • 10G TCP - .18ms - 2.2ms
  • RDMA transport - 40us - 80us

Don't forget to set tune the machine and set --tcp-nodelay on both the C++ broker & client.

For all the options

Code Block

./latencytest --help

How do I measure performance with Java clients?

In Java we provide a utility called QpidBench. It allows you to test the performance of the native AMQP API in Java for 0-10 and the JMS API against both brokers.

Can I run my Java client with JAVA-RT?

Yes, recently a thread abstraction layer has been added to the Java client allowing it to be used with both the SUN and IBM RT JVMs. This increases the determinism of latency when using the Java client.

How To

How to use RDMA with Qpid

...