BunnyBus is a high-level enterprise bus library for RabbitMQ that simplifies pub/sub and queue management by abstracting connection, channel, binding, and subscription creation. The current stable version is 7.0.0, released with Node.js >=14 support and maintained by XO Group. It offers both callback and Promise APIs, with optional strict FIFO ordering (at a performance cost). Unlike lower-level RabbitMQ libraries, BunnyBus provides safe defaults, native callbacks for performance, and a built-in error queue / retry management system. It is designed for production messaging patterns requiring reliable delivery and easy configuration.
npm install bunnybusNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates subscribing to a queue and publishing a message with async/await.
Upgrade to Node.js >=14 and migrate to async/await or use .then()/.catch().
Always include an 'event' string in the message object when publishing.
Always call ack() after successful processing, or use nack() for failures.
Set server.dispatchType to 'serial' in config only if strict ordering is required.
Start RabbitMQ locally or configure the server host/port in the BunnyBus constructor.
Use correct import: const BunnyBus = require('bunnybus'); const bus = new BunnyBus();Ensure queue configuration matches existing queue or delete the queue before redefining.
Ensure subscription handlers accept (message, ack) parameters and use async/await with the ack.