[openstack-dev] [Zaqar][all] Getting rid of queues: Feedback needed

Flavio Percoco flavio at redhat.com
Mon Nov 17 13:43:24 UTC 2014


I'd like to discuss in a wider space the change proposed here[0]. I'll
explain briefly what the proposal is about for those not familiar with
the project.

As of now, queue's are a first-class resouce. They need to exist in
the backend in order to post messages. In v1.1 of the API queues
became lazy resources, therefore they don't have to be created
beforehand. Although I believe this is a good step forward, there's
still an issue with the current implementation. Queues are wasting

Each queue needs to be created and depending on the backend this is
space being wasted since no valuable information is currently stored
there except for the queue's metadata, which is required just when
using flavors.

At the Juno summit, we discussed the idea of dropping queues as a
first-citizen resource and move towards a topic-based messaging
system. At that summit, the community feedback was that queue's
metadata is important and we shouldn't drop it.

At the Kilo summit, this topic came up again and supported by the need of
having a v2 of the API, we agreed that it may be a good time to do so.
The metadata field will still be kept outside the queue (now called
topic) and the topic will be part of the message instead. All previous
operations will remain but the API endpoints will have to change.

This is quite a big change and it'll break backwards compatibility. We
could find a way to change the way the service works under-the-hood
without changing the API but that'll bring in lots of inconsistencies
that we don't want.

I had written a post before the Juno summit, which you can find here[1].

There are other motivations behind this change besides the one
mentioned above. For example, moving to topics will emphasize the fact
that this is a messaging service and that not all the guarantees that
are implicit to queues are guaranteed. The change also allows for
future optimizations like message broadcasting without hacking awful
things into the API - like comma separated queues in the URL's path.

[0] https://review.openstack.org/#/c/134015/2/specs/kilo/migrate-to-topics.rst,cm
[1] http://blog.flaper87.com/post/people-dont-like-to-queue-up/

Thoughts? Feedback?
Thanks in advance,

Flavio Percoco
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141117/7cd7efed/attachment.pgp>

More information about the OpenStack-dev mailing list