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

Attachment: pgphtaFMSwwzY.pgp
Description: PGP signature

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to