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