Topics / #pubsub
Pubsub projects on GitHub
Publish-subscribe messaging systems for decoupled communication.
As of , the most-starred Pubsub projects on GitHub are redis (76.9K stars), ntfy (34.9K stars) and dapr (26.2K stars). GitHub.Locker tracks 20 Pubsub repositories with 405.6K stars combined. The fastest-growing on October 16 was redis, with +22 stars in a day.
Hot right now
Most stars gained in a day · Oct 16
+22redis
redis/redis · ★ 76.9KRedis is an in-memory server used as a cache, data structure store, and document/vector query engine for building real-time, data-driven applications.
ntfy
binwiederhier/ntfy · ★ 34.9Kntfy is a simple HTTP-based pub-sub notification service that lets you send push notifications to your phone or desktop with a single PUT or POST request, without signing up or paying anything.
+6nats-server
nats-io/nats-server · ★ 20.9KThis is the NATS server — the high-performance core of NATS.io, a messaging system for connecting digital systems, services and devices. It's a CNCF project.
+6centrifugo
centrifugal/centrifugo · ★ 10.9KCentrifugo is an open-source, language-agnostic real-time messaging server that lets any backend push messages to connected clients over WebSocket, HTTP-streaming, SSE, GRPC or WebTransport. It acts as a self-hosted alternative to Pubnub, Pusher, Ably, Socket.IO, Phoenix.PubSub and SignalR.
The all-time top
20 projects · by stars
- 76.9K
#1 · redis/redisredis
Redis is an in-memory server used as a cache, data structure store, and document/vector query engine for building real-time, data-driven applications.
- 34.9K
#2 · binwiederhier/ntfy
ntfy
ntfy is a simple HTTP-based pub-sub notification service that lets you send push notifications to your phone or desktop with a single PUT or POST request, without signing up or paying anything.
- 26.2K
#3 · dapr/dapr
dapr
Dapr is an open-source, CNCF-graduated runtime for building distributed applications, workflows, and AI agents. It packages durable execution, secure service-to-service communication, state management, and event-driven messaging behind one consistent set of APIs.
- 4

nsq
25.8Knsqio/nsq · GoNSQ is a realtime distributed messaging platform — a message queue built to operate at scale, handling billions of messages per day.
- 5

EventBus
24.7Kgreenrobot/EventBus · JavaEventBus is a publish/subscribe event bus for Android and Java. It simplifies communication between components — Activities, Fragments, Threads, Services — and decouples event senders from receivers.
- 6

rocketmq
22.6Kapache/rocketmq · JavaApache RocketMQ is an open-source distributed messaging and streaming platform for building event-driven applications, with low latency, trillion-level capacity and flexible scalability.
- 7

go-redis
22.3Kredis/go-redis · GoThe official Redis client library for Go: you import it into your Go program to talk to Redis servers. It targets the last three Redis releases and speaks both RESP2 and RESP3.
- 8

nats-server
20.9Knats-io/nats-server · GoThis is the NATS server — the high-performance core of NATS.io, a messaging system for connecting digital systems, services and devices. It's a CNCF project.
- 9
uWebSockets
19KuNetworking/uWebSockets · C++μWebSockets is a simple, secure and standards-compliant web server for demanding applications, built as a C++ library — so optimized for speed and memory that its TLS 1.3 encrypted messaging outruns most servers' cleartext.
- 10

node-redis
17.6Kredis/node-redis · TypeScriptNode-Redis is a modern, high performance Redis client for Node.js — the library your JavaScript or TypeScript app uses to talk to a Redis server, with support for Redis Stack modules like JSON, Search and Time-Series.
- 11

emqx
16.8Kemqx/emqx · ErlangEMQX is an MQTT broker and messaging platform for IoT: it connects millions of devices, routes messages in real time, and bridges them into backend data systems. Aimed at AI, IoT, IIoT, connected vehicles and smart cities.
- 12
pulsar
15.3Kapache/pulsar · JavaApache Pulsar is a distributed publish-subscribe messaging platform built for horizontal scale, designed to handle millions of topics and millions of messages per second with strong ordering and durability guarantees.
- 13
ioredis
15.3Kredis/ioredis · TypeScriptioredis is a Redis client library for Node.js, built to be robust, performance-focused, and full-featured, covering Cluster, Sentinel, Streams, Pipelining, Lua scripting and Pub/Sub.
- 14

redis-py
13.7Kredis/redis-py · Pythonredis-py is the official Python client for the Redis key-value store — the interface your Python code uses to talk to a Redis server.
- 15

mitt
11.9Kdevelopit/mitt · TypeScriptMitt is a tiny functional event emitter / pubsub library for JavaScript, weighing less than 200 bytes gzipped.
- 16

libzmq
11Kzeromq/libzmq · C++libzmq is the core engine of ZeroMQ — a lightweight messaging kernel written in C++ that implements the ZMTP/3.1 protocol.
- 17

centrifugo
10.9Kcentrifugal/centrifugo · GoCentrifugo is an open-source, language-agnostic real-time messaging server that lets any backend push messages to connected clients over WebSocket, HTTP-streaming, SSE, GRPC or WebTransport. It acts as a self-hosted alternative to Pubnub, Pusher, Ably, Socket.IO, Phoenix.PubSub and SignalR.
- 18

dicedb
10.8Kdicedb/dicedb · CDiceDB is a fork of Valkey (itself a fork of Redis) that extends Valkey with extra capabilities, such as spilling evicted keys to disk, while staying fully compatible with the Valkey and Redis tooling and SDK ecosystem.
- 19

capsule-identity
8.4Kunicity-aos/capsule-identity · RustIt's the system-prompt builder capsule for Astrid OS (part of Unicity AOS) - it owns an agent's 'spark' identity, merges it with workspace and environment context, and assembles the resulting system prompt the LLM receives.
- 20

constellation-gemini
679brayonpi/constellation-gemini · PythonConstellation is a demo project where Gemini turns an operator's spoken orbital-mission request into a checklist, HexStellar Cortex searches for a complete recovery schedule for a broken satellite network, and a separate independent Python program checks that schedule rule by rule before it's allowed to update the simulation.
Related topics
Often tagged together