Centrifugo logo

Centrifugo

Website

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 screenshot

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:

Share:

Similar to Centrifugo

Tinode logo

Tinode

Instant messaging server with multi-platform clients and APIs

13.5k
2.1k
Last commit

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.

GPL-3.0Actively maintained
Alternative to:
Telegram logo
Telegram
+13
ejabberd logo

ejabberd

Scalable real-time messaging server for XMPP, MQTT, and SIP

6.7k
1.5k
Last commit

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.

Actively maintained
Alternative to:
CloudMQTT logo
CloudMQTT
+11
Janus WebRTC Server logo

Janus WebRTC Server

General-purpose WebRTC media server with a plugin architecture

9.2k
2.6k
Last commit

Janus WebRTC Server is a lightweight, general-purpose WebRTC gateway for building real-time audio/video applications via plugins and a JSON-based API.

GPL-3.0Actively maintained
Alternative to:
Ant Media Server Cloud logo
Ant Media Server Cloud
+2
VerneMQ logo

VerneMQ

Distributed MQTT message broker built on Erlang/OTP

3.6k
429
Last commit

VerneMQ is a high-performance, distributed MQTT broker for scalable, highly available IoT and M2M messaging, with clustering, TLS, WebSockets, plugins, and integrations.

Apache-2.0Actively maintained
Alternative to:
HiveMQ Cloud logo
HiveMQ Cloud
+3

SyncTube

Synchronized web app for shared video playback and chat

385
64
Last commit

Lightweight web application for synchronized video playback with chat, leader-controlled playback, subtitle/audio track support and Docker deployment.

MITActively maintained
Alternative to:
Watch2Gether logo
Watch2Gether
+3
Jina logo

Jina

Cloud-native Python framework for serving multimodal AI services

21.9k
2.2k
Last commit

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

Apache-2.0Slowing down
Alternative to:
Baseten logo
Baseten
+12