This is an AMQP 0.9.1 client with RabbitMQ extensions in Go.
This project has been used in production systems for many years. It is reasonably mature and feature complete, and as of November 2016 has a team of maintainers.
Future API changes are unlikely but possible. They will be discussed on Github issues along with any bugs or enhancements.
This library supports two most recent Go release series, currently 1.10 and 1.11.
This project supports RabbitMQ versions starting with 2.0 but primarily tested
against reasonably recent 3.x releases. Some features and behaviours may be
server version-specific.
Provide a functional interface that closely represents the AMQP 0.9.1 model targeted to RabbitMQ as a server. This includes the minimum necessary to interact the semantics of the protocol.
Things not intended to be supported.
See the 'examples' subdirectory for simple producers and consumers executables. If you have a use-case in mind which isn't well-represented by the examples, please file an issue.
Use Godoc documentation for reference and usage.
RabbitMQ tutorials in Go are also available.
Pull requests are very much welcomed. Create your pull request on a non-master branch, make sure a test or example is included that covers your change and your commits represent coherent changes that include a reason for the change.
To run the integration tests, make sure you have RabbitMQ running on any host,
export the environment variable AMQP_URL=amqp://host/ and run go test -tags integration. TravisCI will also run the integration tests.
Thanks to the community of contributors.
BSD 2 clause - see LICENSE for more details.