kgriffs 1512db43ec fix(mongodb): Marker generation creates a bottleneck under heavy load
This patch changes markers so that they are generated using a per-queue
side counter. A heuristic is used to mitigate a race condition. Due to the
new semantics, partial inserts are no longer possible due to collisions,
which ended up simplifying the retry logic for posting messages.

As a consequence of this patch, the last message posted no longer needs
to remain in the queue indefinitely, rendering marconi-gc unnecessary,
and so it has been removed.

Also, since the mongod GC worker runs once a minute, the queries no longer
filter out expired-but-not-yet-gc'd messages; on average, a message may
live more than 30 seconds passed it's expected lifetime, but I do not
think that this will harm or complicate any application building on top of
Marconi, practically speaking. That being said, it is worth calling out
in documentation.

Closes-Bug: #1218602
Change-Id: I34e24e7dd7c4e017c84eb5929ce37ad4c9e5266a
2013-09-26 10:33:00 -04:00
2013-08-14 16:10:08 -05:00
2012-11-01 09:52:20 +01:00

Marconi

Message queuing service for OpenStack

Running a local Marconi server with MongoDB

  1. Install MongoDB

  2. Start a MongoDB instance:

    mongod
  3. Clone the Marconi repo:

    git clone https://github.com/stackforge/marconi.git
  4. cd to your local copy of the repo

  5. Copy the Marconi config files to the directory ~/.marconi:

    cp -r marconi/etc/*.conf-sample ~/.marconi/marconi.conf
  6. Find the [drivers:storage:mongodb] section in ~/.marconi/marconi.conf and modify the URI to point to your local mongod instance:

    uri = mongodb://localhost
  7. Run the following so you can see the results of any changes you make to the code, without having to reinstall the package each time:

    python setup.py develop
  8. Start the marconi server:

    marconi-server
Description
OpenStack Messaging (Zaqar)
Readme 46 MiB
Languages
Python 96.1%
PHP 1.5%
Shell 1.2%
HTML 0.8%
Lua 0.3%