/nsq

realtime distributed message processing at scale

Primary LanguageGoMIT LicenseMIT

Build Status GitHub release Coverage 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.

We publish binary releases for linux, darwin, freebsd and windows as well as an official Docker image.

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

In Production

              

              

              

              

              

     

Code of Conduct

Help us keep NSQ open and inclusive. Please read and follow our Code of Conduct.

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, maintainers (Pierce Lopez), and all our contributors.

Logo created by Wolasi Konu (@kisalow).