
Centrifugo
Open-source, Go-based real-time messaging server for pub/sub and live updates; supports WebSocket, SSE, gRPC and brokers (Redis, NATS) with official SDKs.

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. (centrifugal.dev)
Key Features
- Multi-transport support: bidirectional WebSocket-based SDKs and unidirectional transports (WebSocket, HTTP-streaming, Server-Sent Events, gRPC) for different client constraints. (centrifugal.dev)
- 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. (centrifugal.dev)
- Server APIs for backend integration: HTTP API and gRPC API for publishing, presence, history, disconnects and cluster introspection. (centrifugal.dev)
- Observability and operational tooling: Prometheus metrics, recommended Grafana dashboards and an admin web UI for runtime inspection and control. (centrifugal.dev)
- Official SDKs and examples: client libraries and tutorials for web and mobile environments plus deployment recipes (binaries, Docker images, Helm charts). (centrifugal.dev)
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. (centrifugal.dev)
- 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. (centrifugal.dev)
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.




