Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. rsmq

rsmq

MITJavaScriptv0.9.1

A lightweight message queue for Node.js that uses Redis as a backend, requiring no dedicated queue server.

GitHubGitHub
1.8k stars121 forks0 contributors

What is rsmq?

RSMQ (Redis Simple Message Queue) is a lightweight message queue library for Node.js that uses Redis as its backend, eliminating the need for a dedicated queue server. It solves the problem of reliable message passing between distributed components with features like guaranteed delivery, FIFO ordering, and configurable visibility timeouts. Developers use it to decouple services, handle background jobs, or manage asynchronous workflows in a simple and performant way.

Target Audience

Node.js developers building distributed applications, microservices, or background job processing systems who already use or are willing to use Redis as an infrastructure component.

Value Proposition

RSMQ offers a dead-simple alternative to heavyweight message queues by leveraging Redis, which many teams already have deployed. It provides essential queue semantics (FIFO, exactly-once delivery, persistence) with minimal operational overhead and high throughput, making it ideal for teams wanting to avoid complex queue server management.

Overview

Redis Simple Message Queue

Use Cases

Best For

  • Decoupling microservices with a simple message queue
  • Handling background job processing in Node.js applications
  • Replacing Amazon SQS with a self-hosted Redis-based alternative
  • Building event-driven architectures with Redis pub/sub integration
  • Implementing reliable task queues for asynchronous workflows
  • Creating lightweight job queues for serverless or containerized environments

Not Ideal For

  • Systems requiring advanced queue features like priority queues, message routing, or dead-letter queues
  • Applications needing to handle very large message payloads beyond 65KB without configuration tweaks
  • Environments where Redis is not already deployed or where avoiding Redis dependency is a priority
  • Teams seeking a fully managed, cloud-native message queue service without self-hosted infrastructure

Pros & Cons

Pros

Lightweight Simplicity

Requires only a Redis server and consists of ~500 lines of JavaScript, minimizing dependencies and setup complexity as highlighted in the README.

High Performance Throughput

Capable of sending/receiving over 10,000 messages per second on average hardware, leveraging Redis for speed as stated in the features.

Guaranteed Message Delivery

Provides exactly-once semantics within a configurable visibility timeout, ensuring messages are delivered to exactly one recipient for reliable processing.

FIFO with Flexibility

Handles messages in first-in-first-out order by default, with optional per-message delays for controlled workflow timing.

Modular Extensibility

Supported by additional modules for workers, REST APIs, CLI, and promise-based interfaces, allowing tailored extensions beyond the core.

Cons

Redis Dependency Overhead

Requires a Redis server (version 2.6+ for EVAL commands), adding infrastructure management and potential single point of failure concerns.

Limited Built-in Features

Lacks advanced queue capabilities like message prioritization or dead-letter queues out-of-the-box; complex workflows need separate modules like rsmq-worker.

Message Size Constraints

Default maximum message size is 65,536 bytes, which can be restrictive for large payloads unless explicitly configured to unlimited (-1).

Realtime Implementation Caveats

The optional realtime PUBLISH feature requires careful use of Redis SUBSCRIBE to avoid multiple simultaneous receiveMessage calls, as warned in the README.

Open Source Alternative To

rsmq is an open-source alternative to the following products:

Amazon SQS
Amazon SQS

Amazon SQS (Simple Queue Service) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.

Frequently Asked Questions

Quick Stats

Stars1,819
Forks121
Contributors0
Open Issues19
Last commit5 years ago
CreatedSince 2013

Tags

#redis#message-queue#queue#npm#distributed-systems#lightweight#nodejs#microservices#backend#fifo#job-queue

Built With

J
JavaScript
N
Node.js
R
Redis

Included in

Node.js65.5k
Auto-fetched 17 hours ago

Related Projects

BullBull

Premium Queue package for handling distributed jobs and messages in NodeJS.

Stars16,245
Forks1,418
Last commit4 days ago
agendaagenda

Lightweight job scheduling for Node.js

Stars9,688
Forks850
Last commit3 days ago
bullmqbullmq

BullMQ - Message Queue and Batch processing for NodeJS, Python, Elixir and PHP based on Redis

Stars9,183
Forks655
Last commit20 hours ago
bee-queuebee-queue

A simple, fast, robust job/task queue for Node.js, backed by Redis.

Stars4,033
Forks222
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub