Get Centrifugo running in seconds with a single Docker command.
Lightweight but with Centrifugal force inside. See all the ways to install.

Centrifugo is a self-hosted service which handles connections over various transports and provides a simple publishing API. Centrifugo nicely integrates with any application — no changes in the existing app architecture required to introduce realtime updates.

Centrifugo is written in Go language and includes some smart optimizations. See the description of the test stand with one million WebSocket connections and 30 million delivered messages per minute on hardware comparable to a single modern server.

Centrifugo provides flexible auth, various types of subscriptions, channel history, online presence, delta updates, the ability to proxy connection events to the backend, and much more. It comes with official SDK libraries for both web and mobile development.

Scale connections over many Centrifugo nodes by using built-in integrations with efficient brokers: Redis (or Redis Cluster, or Redis-compatible storages like AWS Elasticache, Google Memorystore, DragonflyDB, Valkey, KeyDB). And Nats is supported.

Started a decade ago, Centrifugo (and Centrifuge library for Go it's built on top of) is mature, battle-tested software that has been successfully used in production by many companies around the world: VK, Badoo, ManyChat, OpenWeb, Grafana, and others.

Centrifugo PRO offers great benefits for corporate and enterprise environments by providing unique features on top of the OSS version: analytics with ClickHouse, realtime tracing, performance optimizations, push notification API, SSO integrations for web UI, etc.
Realtime messaging delivers events to online users with minimal delay. Chats, live comments, multiplayer games, AI streaming responses — all built on top of a realtime messaging layer.
Data sync allows keeping state synchronized across clients in realtime providing eventual consistency with your database.
Centrifugo handles persistent connections over WebSocket, HTTP-streaming, SSE, WebTransport, and gRPC — providing both PUB/SUB messaging and state synchronization primitives.

Centrifugo excels at broadcasting messages to many subscribers simultaneously. The efficient client protocol (JSON or binary Protobuf) enables high-throughput messaging at scale.
The design of Centrifugo is optimized for scenarios where a single message needs to be sent to thousands or even millions of clients, making it ideal for realtime applications that require instant updates to large audiences.
Build realtime chat applications, live comments, and instant messaging systems
Stream metrics, analytics, and telemetry data for realtime visualization
Synchronize game state and player actions in realtime gaming experiences
Synchronize key-value state across clients with transactional consistency
Deliver realtime stock prices, trading updates, and market information
Poll backend once, fan out changes to thousands of clients automatically
Track vehicles, devices, and sensor data with live location updates
Stream AI model responses and live generation results to users
“We use Centrifugo to power real time updates and chat. It's been incredibly easy to use and reliable.”
Here is the realtime telemetry streamed from the Assetto Corsa racing simulator to the Grafana dashboard with a help of our WebSocket technologies.
This demonstrates that you can stream 60Hz data towards client connections and thus provide instant visual feedback on the state of the system.
Straightforward with Centrifugo! Even though your backend does not support concurrency. See the tutorial where we build a beautiful messenger app and go beyond usually shown basics.
Centrifugo is a versatile realtime component – it can be used to build various types of realtime applications, not just messengers.

A new PostgreSQL controller in Centrifugo OSS lets multi-node clusters run without Redis or NATS. If your application already runs PostgreSQL, the messaging plane has everything it needs — one infrastructure dependency for the whole real-time tier.

The PostgreSQL stream broker brings transactional publishing to Centrifugo's stream subscriptions. Real-time updates commit alongside the database write that triggers them — same SQL transaction, no application-side outbox, no CDC pipeline, no separate publish API call.

The PostgreSQL map broker brings durable persistence to Centrifugo-owned key-value collections and lets your application publish updates atomically inside its own database transactions — no dual-write, no application-side outbox to maintain.

A new subscription type in Centrifugo — real-time key-value collections with paginated state delivery, guaranteed convergence on reconnect, per-key TTL, conditional writes, and Fossil delta compression.
Centrifugal Labs offers a PRO version of Centrifugo that includes a set of unique features, additional APIs, and enhanced performance. Ever dreamed about a self-hosted real-time messaging system combined with a push notification system? Want to benefit from analytics of real-time connections and subscriptions? Centrifugo PRO makes this all possible.
