[openstack-dev] [Marconi] RFC AMQP 1.0 Transport Driver for Marconi

Victoria Martínez de la Cruz victoria at vmartinezdelacruz.com
Mon Jul 7 20:53:44 UTC 2014


Hi guys,

During the last couple of weeks I've been working on adding support for
AMQP 1.0 in Marconi transport. For that, I've based my research on current
Marconi WSGI API, Apache Proton API [0] and Azure Service Bus docs [1].

There are several things to decide here in order to take full profit of
AMQP's performance while keeping things consistent.

I'd like to know your opinions about the following.

> Marconi and AMQP operations mapping

Marconi doesn't follow a strict queue semantic. It provides some more
operations that are not supported in other queues implementations, as
messages listing, message/s retrieval by id and message/s deletion by id.

Also, we don't have different entities to provide publish/subscribe and
producer/consumer as other messaging implementations (e.g. in Azure topics
are for pub/sub and queues are for prod/cons)

Marconi support prod/cons through claims. We rely on clients to send an ack
of the message being consumed in order to delete the message and avoid
other clients to consume it later.

So, the thing is... *should we add support for those additional features?
how we can do that in order to be consistent with AMQP and avoid confusion?*

I drafted two different possibilities

e.g. Delete a message

- Specify the operation in the URI

./client.py amqp://127.0.0.1:8888/myqueue/messages/id/delete

- Specify the operation in the message suject

./client.py amqp://127.0.0.1:8888/myqueue {subject: 'DELETE', id: 'id1'}

I'm personally leaning towards the former since it's closer to the way AMQP
does things, but again... if we are going to stick to AMQP's semantics then
we should be supporting this. Right now the core features should be
sending, receiving and claiming messages.

I'll updating some notes about this in
https://wiki.openstack.org/wiki/Marconi/specs/ampq/api/v1 (WIP!)

Thanks,

VIctoria

[0]
http://qpid.apache.org/releases/qpid-proton-0.7/protocol-engine/python/api/proton-module.html
[1] http://msdn.microsoft.com/en-us/library/jj841070.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140707/c4ade344/attachment.html>


More information about the OpenStack-dev mailing list