All Projects → gocardless → amqpc

gocardless / amqpc

Licence: MIT license
AMQP CLI tool

Programming Languages

go
31211 projects - #10 most used programming language

amqpc

amqpc is a tool to test your AMQP broker.
It has been developed and tested with RabbitMQ but any AMQP broker should work.
We put it together very quickly to benchmark and test our RabbitMQ HA Cluster, so it might be unstable.

Usage

$ amqpc -h

amqpc is CLI tool for testing AMQP brokers
Usage:
  Consumer : amqpc [options] -c exchange routingkey queue
  Producer : amqpc [options] -p exchange routingkey [message]

Options:
  -c=true: Act as a consumer
  -ct="amqpc-consumer": AMQP consumer tag (should not be blank)
  -g=1: Concurrency
  -i=500: (Producer only) Interval at which send messages (in ms)
  -n=0: (Producer only) Number of messages to send
  -p=false: Act as a producer
  -r=true: Wait for the publisher confirmation before exiting
  -t="direct": Exchange type - direct|fanout|topic|x-custom
  -u="amqp://guest:guest@localhost:5672/": AMQP URI

Installation

Right now it's not available in any package manager. To build it your need to have a Go compiler.

$ go get
$ go build

Examples

$ # Start one consumer
$ amqpc -u amqp://guest:guest@localhost:5672/ -c your-exchange routing-key your-queue
$ # Start one producer
$ amqpc -u amqp://guest:guest@localhost:5672/ -p your-exchange routing-key your-message
$ # Start 10 producers
$ amqpc -u amqp://guest:guest@localhost:5672/ -g 10 -p your-exchange routing-key your-message
$ # Start 10 producers, each one will be sending 100 at a rate of 1msg/s
$ amqpc -u amqp://guest:guest@localhost:5672/ -g 10 -i 1000 -n 100 -p your-exchange routing-key your-message

TODO

  • Package management
  • Tests
  • Publisher confirms
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].