NSQ

a realtime distributed messaging platform

by Matt Reiferson @imsnakes and Jehiah Czebotar @jehiah

Introduction

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 and, if you’re interested in building your own client, there’s a protocol spec (see client libraries).

In Production

Getting Help

Issues

All issues should be reported via github issues. Don’t forget to search through the existing issues to see if that topic has come up before posting.

Contributing

NSQ has a growing community and contributions are always welcome (particularly documentation). To contribute, fork the project on github and send a pull request.

Contributors

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.