Skip to content

mwaisgold/bigqueue

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Big Queue

Big queue (BQ) is a multi-consumer queue system designed on the concept of be very simple and very scalable, the main idea of this queue is to be consumed asynchronously by many consumer groups, we’ll call consumer group to a pool of process which will receive the same bunch of messages, using this method we can send a group of messages to a topic and each consumer group will receive this messages (like a kestrel fanout queue) then we can read it in a paralelized fashion using many process reading from the same consumer group

BQ is based on top of redis http://redis.io/ as their main storage (in memory) but could be implemented over any persistent system

One of the very atractive things of BQ is the idea of be asynchronous this enable us to create an http api (could be any other faster protocol if we want) that implements a similar Amazon SQS comunication pattern being very easy integrate and platform/languaje agnostic

Design

TODO

BQ Cluster

TODO

Rest Interface

The rest interface can be runned using the bigqueue-http command installed at the module install time, this command will run in default mode (using a pre instaled redis at default port), if you want to configure it to run in cluster mode you could use the config example at example/clusterconfig.js

If you want to run with the cluster configuration you should run

    ./node_modules/.bin/bigqueue-http ./node_modules/BigQueue/examples/clusterconfig.js

Monitoring

TODO

Testing

To run the test you should run:

    make test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.7%
  • Lua 3.3%