Skip to content
MQ API with cluster integration, implemented over various message queues.
JavaScript Makefile
Find file
Pull request Compare This branch is 8 commits behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

strong-mq: Clustering of Applications on Top of Message Queues

strong-mq is an abstraction layer over common message distribution patterns, and several different message queue implementations, including cluster-native messaging.

It allows applications to be written against a single message queue style API, and then deployed either singly, or as a cluster, with deploy-time configuration of the messaging provider. Providers include native node clustering, allowing no-dependency deployment during test and development. Support for other providers is on-going, and 3rd parties will be able to add pluggable support for new message queue platforms.


% npm install strong-mq
% npm test

Multiple Versions of strong-mq Being Initialized

If you get an assert during require of strong-mq about multiple versions being initialized, then some of the modules you are depending on use strong-mq, but do not specify it as a peerDependency. See strongloop/strong-cluster-connect-store as an example of how to correctly specify a dependency on strong-mq in a module. An application can depend on strong-mq with a normal dependency.


An example of connecting to a server and listening on a work queue:

var connection = require('strong-mq')

var push = connection.createPushQueue('todo-items');
push.publish({job: 'clean pool'});

var pull = connection.createPullQueue('todo-items');
pull.subscribe(function(msg) {
    console.log('TODO:', msg);


Something went wrong with that request. Please try again.