Persistent Message Queues With Replay


Backup/Replay RabbitMQ Queue

# create a qdb queue 'backup'
$ curl http://127.0.0.1:9554/q/backup -d maxSize=10g
# consume messages from RabbitMQ queue 'backup' bound to exchange 'incoming'
$ curl http://127.0.0.1:9554/q/backup/in/rabbit -d type=rabbitmq \
-d url=amqp://127.0.0.1 -d queue=backup -d exchange=incoming

To restore messages from backup:

# output messages from 10h20 today to RabbitMQ 'recovered' exchange and queue
$ curl http://127.0.0.1:9554/q/backup/out/rabbit -d type=rabbitmq \
-d url=amqp://127.0.0.1 -d queues=recovered -d from=10:20

Push To Remote RabbitMQ Server

# create a qdb queue 'incoming'
$ curl http://127.0.0.1:9554/q/incoming -d maxSize=100g
# output messages to RabbitMQ 'incoming' exchange and queue
$ curl http://127.0.0.1:9554/q/incoming/out/rabbit -d type=rabbitmq \
-d url=amqp://127.0.0.1 -d queues=incoming
# POST contents of message.json to qdb and RabbitMQ
$ curl http://127.0.0.1:9554/q/incoming/messages?routingKey=abc -d @message.json

QDB is open source and Apache licensed.

Who is using QDB?

QDB is in production at BrandsEye, an awesome online monitoring & insights tool

News

Follow @qdbio on Twitter to keep to up date.