{"repo":"wagslane/go-rabbitmq","free":true,"listed":false,"github":"https://github.com/wagslane/go-rabbitmq","clone":"git clone https://github.com/wagslane/go-rabbitmq.git","description":"A wrapper of streadway/amqp that provides reconnection logic and sane defaults","language":"Go","stars":994,"topics":["rabbitmq","rabbitmq-client","rabbitmq-consumer","rabbit","rabbitmq-producer","go","golang","golang-library"],"license":"MIT","category":"dev-tools","readme_excerpt":"go-rabbitmq A wrapper of rabbitmq/amqp091-go that provides reconnection logic and sane defaults. Hit the project with a star if you find it useful ⭐ Supported by Boot.dev. If you'd like to learn about RabbitMQ and Go, you can check out my course here. Motivation Streadway's AMQP library is currently the most robust and well-supported Go client I'm aware of. It's a fantastic option and I recommend starting there and seeing if it fulfills your needs. Their project has made an effort to stay within the scope of the AMQP protocol, as such, no reconnection logic and few ease-of-use abstractions are provided. Goal The goal with go-rabbitmq is to provide most (but not all) of the nitty-gritty functionality of Streadway's AMQP, but to make it easier to work with via a higher-level API. go-rabbitmq is also built specifically for Rabbit, not for the AMQP protocol. In particular, we want: Automatic reconnection Multithreaded consumers via a handler function Reasonable defaults Flow control handling TCP block handling ⚙️ Installation Inside a Go module: 🚀 Quick Start Consumer Take note of the optional options parameters after the queue name. The queue will be declared automatically, but the exchange will not. You'll also probably want to bind to at least one routing key. 🚀 Quick Start Publisher The exchange is not declared by default, that's why I recommend using the following options. Other usage examples See the examples directory for more ideas. Options and configuring By default, q","default_branch":null,"files":null,"tree":[],"storefront":"/r/wagslane","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wagslane/go-rabbitmq/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}