For ein einfacher Message-Broker für Tasks, the strongest matches are apache/incubator-pulsar (Apache Pulsar is a full-featured distributed message queue and), mqttjs/mqtt.js (A lightweight MQTT broker and client library that supports) and celery/celery (Celery is a distributed task queue that handles asynchronous). nsqio/nsq and emqx/emqx round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
High-performance messaging systems designed for efficient task queuing and asynchronous background processing in distributed applications.
Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a multi-tenant event streaming platform designed to route data streams for asynchronous communication between producers and consumers. The system distinguishes itself through geo-replication, synchronizing data across multiple geographic regions to ensure high availability and low latency. It implements a multi-tenant architecture that provides isolation and resource management for millions of independent topics. The platform covers high-throughput data streaming and event-driven da
Apache Pulsar is a full-featured distributed message queue and pub-sub system that supports persistent storage, delayed messages, pub-sub patterns, and multiple protocols via pluggable handlers — but its cloud-native architecture and operational complexity make it far from the lightweight design you specified.
MQTT.js is a JavaScript client library and asynchronous messaging client used to connect to message brokers and exchange data via the MQTT protocol. It provides a broker interface for publishing and subscribing to topics, and includes a command-line interface for interacting with brokers without writing code. The library supports multiple network layers, including TCP, TLS, and WebSockets, and allows for custom WebSocket construction and transport injection to handle specific headers or subprotocols. It implements bandwidth reduction through topic aliasing, which replaces repetitive topic str
A lightweight MQTT broker and client library that supports pub-sub messaging, but it lacks built-in persistent message storage, delayed task scheduling, and support for multiple protocols beyond MQTT, which limits its suitability as a full task queue or general-purpose message broker for asynchronous background processing.
Celery is an asynchronous job processor and distributed task queue designed to offload time-consuming operations to background worker nodes. By utilizing a message-passing architecture, it decouples task producers from consumers, allowing applications to maintain responsiveness while scaling workloads across multiple isolated environments. The system functions as a distributed workload orchestrator that manages the lifecycle of deferred operations through persistent queues. It distinguishes itself by providing a pluggable transport abstraction, which allows the core task logic to remain indep
Celery is a distributed task queue that handles asynchronous background processing with support for task scheduling, persistent queues, and multiple message brokers, exactly matching your need for a lightweight job queuing system.
NSQ is a distributed, brokerless messaging platform designed for high-throughput, fault-tolerant communication. By utilizing a decentralized topology, it eliminates single points of failure and allows for horizontal scaling across clusters. The system organizes message streams into topics and channels, effectively decoupling producers from consumers to support both streaming and job-oriented workloads. The platform distinguishes itself through a lookup-service-based discovery mechanism that enables clients to dynamically locate producers at runtime without requiring centralized coordination.
NSQ is a distributed messaging platform that fits as a lightweight message broker with high-throughput pub/sub and decoupled producers and consumers, but it lacks built-in support for delayed/scheduled tasks and the multiple standard transport protocols you listed, making it a solid match rather than a comprehensive flagship for your specific requirements.
This project is a high-performance MQTT broker and IoT data platform designed to manage millions of concurrent device connections. It provides a scalable infrastructure for ingesting, processing, and routing telemetry data across distributed systems, utilizing an actor-based concurrency model to maintain high availability and state synchronization across cluster nodes. The platform distinguishes itself through integrated stream processing and edge computing capabilities. It allows users to execute declarative SQL-based rules directly against incoming message streams for real-time filtering, t
EMQX is a high‑performance MQTT broker for IoT, which makes it a message broker, but its focus on IoT and missing support for AMQP/STOMP and explicit delayed/scheduled tasks or worker management means it may not cover the general application job queue needs you described.
rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m
rq is a lightweight task queue for Python using Redis, handling deferred tasks and background jobs with worker management, retries, and scheduling—so it fits the core need, though it uses a single Redis backend rather than supporting multiple transport protocols like AMQP, MQTT, or STOMP.
NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t
NATS is a lightweight, high-performance message broker with native pub-sub, queue groups, and persistent storage via JetStream—perfect for async background processing, but it does not support AMQP, MQTT, or STOMP out of the box, which the listed features require.
Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re
Dramatiq is a Python task queue library that offloads function execution to background workers with pluggable transports (RabbitMQ, Redis), retry logic, and task orchestration—exactly the kind of lightweight job queuing system you want, though it delegates persistence to the broker and doesn't directly support MQTT or STOMP.
Disque is a distributed message broker that manages asynchronous communication between services through in-memory job queues. It operates as a cluster-aware job scheduler, providing at-least-once delivery guarantees with acknowledgment and retry mechanisms, and supports blocking queue consumers that efficiently wait for jobs to become available. The broker implements a job state machine that tracks each job through its lifecycle from queued to acknowledged, with configurable retry limits and time-to-live expiration to prevent unbounded queue growth. Jobs can be enqueued with delivery guarante
Disque is a distributed message broker designed for in-memory job queuing with at-least-once delivery and retry logic, making it a genuine lightweight task queue, but it lacks persistent storage and support for standard protocols like AMQP, MQTT, or STOMP.
Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor
Resque is a lightweight task queue for Ruby that uses Redis for persistent storage and supports delayed jobs, worker management, and retry logic, meeting the core need for asynchronous background processing, though it is limited to Redis transport and does not natively support multiple protocols or pub/sub.
| Repository | Stars | Sprache | Lizenz | Letzter Push |
|---|---|---|---|---|
| apache/incubator-pulsar | 15.3K | Java | Apache-2.0 | |
| mqttjs/mqtt.js | 9K | TypeScript | other | |
| celery/celery | 28.6K | Python | NOASSERTION | |
| nsqio/nsq | 25.7K | Go | MIT | |
| emqx/emqx | 16.4K | Erlang | NOASSERTION | |
| rq/rq | 10.7K | Python | NOASSERTION | |
| nats-io/nats-server | 20.1K | Go | Apache-2.0 | |
| bogdanp/dramatiq | 5.1K | Python | lgpl-3.0 | |
| antirez/disque | 8.1K | C | BSD-3-Clause | |
| resque/resque | 9.5K | Ruby | MIT |