[openstack-dev] [Oslo] First steps towards amqp 1.0

Flavio Percoco flavio at redhat.com
Mon Dec 9 15:05:55 UTC 2013


Greetings,

As $subject mentions, I'd like to start discussing the support for
AMQP 1.0[0] in oslo.messaging. We already have rabbit and qpid drivers
for earlier (and different!) versions of AMQP, the proposal would be
to add an additional driver for a _protocol_ not a particular broker.
(Both RabbitMQ and Qpid support AMQP 1.0 now).

By targeting a clear mapping on to a protocol, rather than a specific
implementation, we would simplify the task in the future for anyone
wishing to move to any other system that spoke AMQP 1.0. That would no
longer require a new driver, merely different configuration and
deployment. That would then allow openstack to more easily take
advantage of any emerging innovations in this space.

Since the proposal is not about replacing existing dirvers but adding
a new one for a specific protocol, there are some things that need to
be taken under consideration:

    1. The driver should be developed to work against various
    implementations of AMQP 1.0.

    2. The driver shouldn't require support for 'backend-specific'
    features (Of course a backend specific driver may also be
    developed in the future if desired to exploit some non-standard
    feature etc).

    3. AMQP 1.0 changed a lot of what we know about AMQP <= 0.10. It's
    more oriented to messaging rather than queues, brokers and
    exchanges.

Some other benefits of unifying backend specific implementations under
a single protocol based driver are:

    - It'll ease the incorporation of alternatives that emerge and
      have support for such protocol

    - It'll help maintaining the code for that driver and it'll unify
      efforts throughout the community around that code.

    - It'll help developers to focus more on the benefits of the
      protocol itself rather than the benefits of that specific
      driver.

    - It fits perfectly as a non-opinionated feature that embraces
      existing and emerging technologies through an open standard. - A
      clear standard wire protocol will make reasoning about partial
      upgrades/migrations simpler

That being said. The benefits of having a *protocol* based driver does
not only apply to AMQP but to any well-defined protocol with a wide
acceptance. However, AMQP 1.0 seems a reasonable fit right now and so
a good protocol to begin with.

Thoughts? Concerns? Ideas?

[0] http://www.amqp.org/specification/1.0/amqp-org-download

Cheers,
FF 

-- 
@flaper87
Flavio Percoco
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131209/0abbc043/attachment.pgp>


More information about the OpenStack-dev mailing list