
Centrifugo
Scalable open-source real-time messaging server for pub/sub
10.7k stars 728 forks last commit first released Apache-2.0
Actively maintained
Last commit 26 Aug 2026.

Centrifugo is an open-source, Go-written real-time messaging server that provides a language-agnostic pub/sub layer for delivering live updates and streaming events to web and mobile clients. It exposes HTTP and gRPC server APIs and ships official client SDKs and multiple real-time transports to integrate with existing backends and frontends.
Key Features
- Multi-transport support: bidirectional WebSocket-based SDKs and unidirectional transports (WebSocket, HTTP-streaming, Server-Sent Events, gRPC) for different client constraints.
- High-throughput, scalable pub/sub: optimized binary (Protobuf) and JSON protocols, built-in horizontal scaling via brokers (Redis, Redis Cluster and NATS) and idempotent publish options.
- Server APIs for backend integration: HTTP API and gRPC API for publishing, presence, history, disconnects and cluster introspection.
- Observability and operational tooling: Prometheus metrics, recommended Grafana dashboards and an admin web UI for runtime inspection and control.
- Official SDKs and examples: client libraries and tutorials for web and mobile environments plus deployment recipes (binaries, Docker images, Helm charts).
Use Cases
- Real-time chat and collaboration: scalable messaging for chat rooms, presence, and live collaboration features.
- Live dashboards and telemetry: streaming time-series or telemetry data to many clients (metrics, game telemetry, monitoring panels).
- Notifications and streaming AI responses: push short events or stream incremental model outputs to connected clients.
Limitations and Considerations
- Unidirectional transports (e.g., plain SSE or HTTP-streaming) support only JSON and lack advanced SDK features such as dynamic subscriptions, automatic recovery and RPC over persistent connections; for full feature set, use bidirectional SDKs.
- Some higher-level capabilities (push-notifications API, ClickHouse analytics, advanced tracing and SSO in the web UI) are provided by Centrifugo PRO (commercial add-on), not the OSS distribution.
Centrifugo is a mature, production-proven component for adding real-time delivery to existing stacks without rewriting application servers. It is optimized for broadcasting to large audiences, supports both JSON and binary protocols, and integrates with common brokers and observability stacks for scalable deployments.
Categories:
Tags:
Tech Stack:
Similar to Centrifugo

Tinode
Instant messaging server with multi-platform clients and APIs
Tinode is an open source instant messaging platform with a Go backend, web/mobile clients, JSON WebSocket and gRPC APIs, and support for one-to-one and group chat.


ejabberd
Scalable real-time messaging server for XMPP, MQTT, and SIP
ejabberd is an Erlang/OTP-based messaging server providing XMPP chat and presence, MQTT broker capabilities for IoT, and SIP services for real-time communications.
Janus WebRTC Server
General-purpose WebRTC media server with a plugin architecture
Janus WebRTC Server is a lightweight, general-purpose WebRTC gateway for building real-time audio/video applications via plugins and a JSON-based API.

VerneMQ
Distributed MQTT message broker built on Erlang/OTP
VerneMQ is a high-performance, distributed MQTT broker for scalable, highly available IoT and M2M messaging, with clustering, TLS, WebSockets, plugins, and integrations.
SyncTube
Synchronized web app for shared video playback and chat
Lightweight web application for synchronized video playback with chat, leader-controlled playback, subtitle/audio track support and Docker deployment.

Jina
Cloud-native Python framework for serving multimodal AI services
Open-source Python framework to build, scale, and deploy multimodal AI services and pipelines with gRPC/HTTP/WebSocket support and Kubernetes/Docker integration.





