<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<pre>On 06/24/2013, Russell Bryant wrote:
>
> On 06/24/2013 02:01 PM, Sunjeet Singh wrote:
> > <i>
</i>> ><i> OpenStack currently uses AMQP 0.8. Are there any plans to upgrade?
</i>>
> OpenStack is not specifically tied to an AMQP version. It's more about
> what clients we have support for, what versions they speak, and then
> what message brokers support that.
>
> Right now we have support for using the kombu (for RabbitMQ) and qpid
> (for Qpid) clients.
>
> I actually have a big interest in adding support for AMQP 1.0. One of
> the *really* interesting things with AMQP 1.0 that is relevant for
> OpenStack is that it is not tied to using a message broker. You can use
> it in both a peer-to-peer and a brokered way. This is interesting,
> because depending on the messaging pattern we're using, we may want one
> vs the other in different parts of OpenStack.
> As for the specifics to doing this, the only AMQP 1.0 client I know of
> is Proton. It does have Python bindings.
>
> <a href="http://qpid.apache.org/proton/">http://qpid.apache.org/proton/</a>
>
> As for the server side, ActiveMQ recently added AMQP 1.0 support using
> this same library (proton).
>
> <a href="http://activemq.apache.org/">http://activemq.apache.org/</a>
>
> --
> Russell Bryant
</pre>
<tt>AMQP 0-{8,9,10} are asymmetric client/server protocols with a
well-defined server/broker behavior. AMQP 1.0, by contrast, is a
symmetric wire-line protocol, without a requirement for a broker
at all. As Russell points out, this opens the possibility of
brokerless peer-to-peer messaging.<br>
<br>
The problem with peer-to-peer at the transport is that it doesn't
scale well, doesn't provide fanout, requires complicated URL
management, and causes problems with firewalls. It might be
appropriate for a small number of use cases, but a broker or some
other form of intermediary is still needed.<br>
<br>
There is a sub-project of Apache Qpid, built on the Proton
libraries, called Qpid Dispatch. Dispatch is a lightweight
intermediary that is not a broker but can be used to build a
messaging bus that provides peer-to-peer and peer-to-multi-peer
connectivity at the messaging level (i.e. based on messaging
addresses, not host/port urls). It can also be used to provide
connectivity to brokers for the cases where brokers are necessary
(persistent store-and-forward for example).<br>
<br>
If someone from the Qpid community were to work on integrating the
new AMQP 1.0 technology into OpenStack, where would be the right
place to start? Would it be to add a new transport to
oslo.messaging?<br>
<br>
-Ted<br>
<br>
<br>
<br>
<br>
</tt><tt></tt>
</body>
</html>