/nsq

A realtime distributed messaging platform

Primary LanguageGoMIT LicenseMIT

Build Status

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.

It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

Operationally, NSQ is easy to configure and deploy (all parameters are specified on the command line and compiled binaries have no runtime dependencies). For maximum flexibility, it is agnostic to data format (messages can be JSON, MsgPack, Protocol Buffers, or anything else). Official Go and Python libraries are available out of the box (as well as many other client libraries) and, if you're interested in building your own, there's a protocol spec.

The latest stable release is 0.3.0 (ChangeLog). We publish binary releases for linux and darwin.

NOTE: master is our development branch and may not be stable at all times.

In Production

              

              

              

              

Documentation

Online documentation is available at http://nsq.io

Offline documentation requires jekyll:

$ gem install jekyll
$ git checkout gh-pages
$ jekyll serve --safe --baseurl ''

Authors

NSQ was designed and developed by Matt Reiferson (@imsnakes) and Jehiah Czebotar (@jehiah) but wouldn't have been possible without the support of bitly and all our contributors.