[rabbitmq-discuss] ANN New project QDB: Persistent Message Queues With Replay
Tom Anderson
tom.anderson at timgroup.com
Thu Aug 1 13:00:37 BST 2013
On 01/08/13 11:44, David Tinker wrote:
> QDB provides persistent message queues with the ability to efficiently
> replay old messages by timestamp or id. It can push messages from its
> queues directly to RabbitMQ and has simple REST interface.
>
> http://qdb.io/
Interesting. Thanks!
Can you feed it from RabbitMQ too? If not, any plans to make that
possible? A replayable recent history of certain queues could be
insanely useful for us. If not, it looks like it wouldn't be that hard
for us to add if we wanted it.
A few minor remarks:
- "QDB depends on two libraries that are not yet on Maven central ...
These need to be built and installed in your local Maven repository
before building QDB." - have you considered putting artifacts for these
up in a non-Central repository? I do that via a repo hosted on my
Bitbucket site - see https://bitbucket.org/twic/twic.bitbucket.org/src
and https://bitbucket.org/twic/twic.bitbucket.org/src/default/release.sh
for the script that updates it - and find it fairly easy. I think this
is even easier on GitHub.
- Building and installing locally is rendered less than entirely smooth
by (a) the fact that both projects use the signing plugin, which means i
would have to set up GPG etc just to install locally (i commented out
the signing declarations instead), (b) qdb-kvstore refers to a repo with
url "/Users/david/.m2/repository", (c) qdb-kvstore depends on version
0.4.0-SNAPSHOT of qdb-buffer, but if you check out and build qdb-buffer,
you make version 0.4.1-SNAPSHOT.
- The qdb-server build at revision c5c7ac3b7a11 has one failing test,
because this:
def "Format timestamp works"() {
Date d = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse("2013-06-16T21:04:32.123+0200")
String s = DateTimeParser.INSTANCE.formatTimestamp(d)
expect:
s == "2013-06-16T21:04:32.123+0200"
}
Won't pass if you don't live in South Africa, or somewhere else with a
+0200 timezone.
And some handwaving:
- If you ever fancy using a different storage engine, you might be
interested in http://www.mapdb.org/ . Not sure if it has the event
notification, though, nor if its performance characteristics are really
what you need.
- For qdb-buffer, it might be helpful to write a comparison between what
seems like your main use case (buffering messages heading towards
RabbitMQ to protect against RabbitMQ doing down) and running a local
RabbitMQ on every box as a first hop.
tom
--
Tom Anderson | Developer | +44 20 7826 4312 | timgroup.com
<http://timgroup.com/>
STATEMENT OF CONFIDENTIALITY: The information contained in this
electronic message and any attachments to this message are intended for
the exclusive use of the addressee(s) and may contain confidential or
privileged information. If you are not the intended recipient, please
notify Tom Anderson at TIM Group at tom.anderson at timgroup.com and
destroy all copies of this message and any attachments.
TIM Group is the trading name for YouDevise Limited. YouDevise Limited
is registered in England, No. 3331176. Registered office: 3 Copthall
Avenue, London, EC2R 7BH.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130801/0d40e7f7/attachment.htm>
More information about the rabbitmq-discuss
mailing list