[rabbitmq-discuss] AMQP 1.0 Support

Gordon Sim gsim at redhat.com
Fri Apr 20 22:38:45 BST 2012

On 04/20/2012 09:58 PM, Jason J. W. Williams wrote:
> It is not the totally async model 0.9 has where publishers don't have
> to understand where their messages might end up due to exchanges.

It is. Your producer doesn't need to know any more about where messages 
end up than when publishing to an exchange. It simply sends messages to 
a named node on the broker (just like it would send to a named exchange 
pre 1.0).

> It's
> up to both publisher and consumer nodes to build the elaborate
> interconnections between them to emulate queues/exchange/bindings.

No, the broker provides all of that. You may need to create the broker 
node through which messages are flowing, much as you may need to create 
an exchange.

The producers don't need to know anything about the consumers however, 
and vice versa.

> ....once the client library tells the broker how to build an
> equivalent set of nodes, links, and filters to create a queues,
> exchanges and bindings. Since this is up to the client, this is
> exactly what I was saying about replicating 0.9 primitives being by
> convention of the library.

In 0.9, the publisher simply sends messages to the exchange. The 
subscriber indicates the messages it wants from that exchange (through 
bind requests).

In 1.0 the publisher sends messages to the node by establishing a link 
to the node and transferring messages over it. The subscriber indicates 
the messages it wants from the node by establishing a link from the 
node. That is standard, not convention.

Nodes are an extension point (as were exchanges before 1.0). I can 
define a new type of node behaviour for my broker, for example a last 
value queue, but this is no different from previous versions and it 
doesn't mean that applications themselves have to 'build their own'. The 
protocol for sending to- or subscribing to- the node however is standard 
and available to any 1.0 client (again just like a custom exchange would 

> ZMQ does offer reliable transfer and it's primitives are very similar.
> It does also offer basic flow control.

Really? Can you give point me somewhere those are described?


More information about the rabbitmq-discuss mailing list