For un système de messagerie pub-sub simple, the strongest matches are centrifugal/centrifugo (Centrifugo is a self-hosted real-time messaging server distributed as), binwiederhier/ntfy (ntfy is a self-hosted topic-based pub-sub server that uses) and apache/kafka (Kafka is a pub-sub messaging system, but it is). nats-io/nats-server and dunglas/mercure round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Courtiers de messages et plateformes pub-sub légers conçus pour un déploiement simple et une charge opérationnelle minimale.
Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events. The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes. The project covers channel subscription m
Centrifugo is a self-hosted real-time messaging server distributed as a single binary with a built-in admin UI, supporting WebSocket and HTTP APIs, and is lightweight and Docker-friendly, making it an ideal fit for a simple, low-overhead pub-sub system.
ntfy is a self-hosted messaging infrastructure that provides a lightweight platform for sending and receiving real-time notifications. It functions as a topic-based pub-sub server, allowing users to publish and subscribe to message channels using standard HTTP requests. By bridging server-side events with native mobile and desktop clients, it enables the delivery of alerts across various environments through a unified communication layer. The project distinguishes itself by offering a complete, private notification ecosystem that includes persistent message caching and robust access control.
ntfy is a self-hosted topic-based pub-sub server that uses simple HTTP requests for publish and subscribe, making it lightweight and deployable as a single Go binary, but it lacks a built-in admin UI and explicit WebSocket support which are noted requirements.
Kafka is a distributed event streaming platform designed for capturing, storing, and processing real-time data streams across interconnected nodes. It functions as a distributed commit log, providing a fault-tolerant storage mechanism that records state changes sequentially to ensure data consistency and durability across distributed environments. The platform distinguishes itself through a partitioned commit log architecture that enables horizontal scaling and parallel processing of data streams. It integrates a stream processing engine for continuous transformations and aggregations, while
Kafka is a pub-sub messaging system, but it is a heavyweight distributed platform designed for high throughput and fault tolerance, not a lightweight, easy-to-deploy system minimizing operational overhead.
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 Server is a high-performance publish-subscribe messaging system that deploys as a single binary and supports WebSocket, HTTP APIs, and Docker, making it a lightweight, easy-to-operate broker — though it lacks a graphical built-in admin UI out of the box, which is the one listed feature not fully covered.
Mercure is an HTTP-based message broker and real-time pub/sub server that routes asynchronous data updates to authorized subscribers. It functions as a centralized hub that receives data via standard HTTP requests and broadcasts it to web clients using the Server-Sent Events protocol. The project distinguishes itself by replacing WebSockets with a unidirectional HTTP connection, leveraging HTTP/2 and HTTP/3 for multiplexed, low-latency delivery. It implements a secure access control layer using JSON Web Tokens and JSON Web Signatures to validate the identity of publishers and subscribers, and
Mercure is an HTTP-based pub/sub server built as a single Go binary that provides real-time messaging via Server-Sent Events and an HTTP API, making it a lightweight, easy-to-deploy choice for this search, though it uses SSE instead of WebSockets.
Emitter is a distributed pub-sub platform and message brokering system that decouples senders and receivers through topic-based routing. It functions as an MQTT message broker and WebSocket communication server, enabling real-time data exchange between hardware devices and web-based clients. The system acts as a secure channel orchestrator and message persistence engine. It ensures delivery through a storage system that buffers historical messages and queues data for offline subscribers. Access to these data streams is managed via time-limited permission keys that enforce granular read and wr
Emitter is a Go-based pub-sub platform that runs as a single binary and supports MQTT with WebSocket, making it a solid fit for a simple deployable messaging system, though its emphasis on distributed clustering might add some operational complexity beyond minimal.
NATS Streaming System Server
NATS Streaming Server is a lightweight, single-binary publish-subscribe messaging system that supports WebSocket and Docker, so it fits the core need for a simple-to-operate message broker, though its built-in admin UI is minimal or absent.