Skip to main content

Clients Libraries and Developer Tools

Overview​

RabbitMQ is officially supported on a number of operating systems and has several official client libraries. In addition, the RabbitMQ community has created numerous clients, adaptors and tools that we list here for your convenience.

Please contact us with suggestions for things you would like to see added to this list.

Note: items with a check mark (✓) are officially supported by Team RabbitMQ and VMware.

Load Testing and Workload Simulation​

Java and Spring​

Java​

Spring Framework​

.NET​

Client libraries:

Higher level frameworks:

  • NServiceBus, the most popular open-source service bus for .NET.
  • Brighter, a Command Processor & Dispatcher implementation with support for task queues
  • Cambion, an MIT licensed open-source distributed application framework for .NET
  • EasyNetQ, an easy to use, opinionated .NET API for RabbitMQ
  • MassTransit, an open-source distributed application framework for .NET.

Miscellaneous projects:

  • RabbitMQTools, PowerShell module containing cmdlets to manage RabbitMQ

Ruby​

Python​

Miscellaneous projects:

  • Celery, a distributed task queue for Django and pure Python

PHP​

  • ✓ php-amqplib a pure PHP, fully featured RabbitMQ client
  • RabbitMqBundle incorporates RabbitMQ messaging with the Symfony2 web framework
  • PECL AMQP library built on top of the RabbitMQ C client
  • Thumper a library of messaging patterns
  • CAMQP an extension for the Yii framework providing a gateway for RabbitMQ messaging
  • AMQP Interop is a set of unified AMQP 0-9-1 interfaces in PHP and their implementations
  • Bowler is a RabbitMQ client abstraction for Laravel

JavaScript and Node​

  • amqplib: RabbitMQ (AMQP 0-9-1) client for Node.js
  • amqp-client: High performance client for both NodeJS and browsers (WebSocket), written in TypeScript
  • rabbit.js: message patterns in node.js using RabbitMQ.
  • rabbitmq-stream-js-client: RabbitMQ Stream NodeJS client.
  • amqp-stats: a node.js interface for RabbitMQ management statistics
  • Rascal: a config driven wrapper for amqp.node supporting multi-host connections, automatic error recovery, redelivery flood protection, transparent encryption and channel pooling.
  • node-rabbitmq-client: RabbitMQ (AMQP 0-9-1) client library with auto-reconnect, zero dependencies, TypeScript support, and Promise-based API.
  • ComQ: Production grade RPC and pub/sub.

Go​

iOS and Android​

Objective-C and Swift​

Rust​

Crystal​

Julia​

Other JVM Languages​

Scala​

Groovy and Grails​

Clojure​

JRuby​

C and C++​

Monitoring​

Visualisation​

Unity 3D​

Erlang​

Haskell​

OCaml​

Provisioning (Chef, Puppet, Docker, etc)​

Database Integration​

CLI Tools​

  • ✓ RabbitMQ CLI tools
  • ✓ rabbitmqadmin, a command line tool that targets RabbitMQ HTTP API
  • amqp-utils, command line utils for interacting with an AMQP based queue (in Ruby)
  • amqptools, command line AMQP clients (in C)
  • rabtap, RabbitMQ wire tap and swiss army knife command line tool (in go)

3rd party plugins​

Perl​

  • RabbitFoot, an asynchronous and multi-channel RabbitMQ client using Coro and AnyEvent::RabbitMQ
  • AnyEvent::RabbitMQ, an asynchronous and multi-channel RabbitMQ client

OCaml​

  • NetAMQP, a native AMQP 0-9-1 client for Ocaml tested against RabbitMQ

Common Lisp​

  • cl-rabbit a Common Lisp client library for RabbitMQ

COBOL​

Traffic Capture and Protocol Analysis​

  • Wireshark is the world's foremost network protocol analyzer

Miscellaneous​