[rabbitmq-discuss] AMQP 1.0 Support
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
> 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
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
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