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.

Recreating David Gerrells' 2M-particle multiplayer simulation on top of Centrifugo WebSocket protocol. The naive single channel fanout balloons each tick from 129KB to 605KB. We explore how to improve that given Centrifugo nature and good UX in mind.

Shared poll subscriptions move polling from clients to Centrifugo. Instead of 10,000 clients each hitting your backend every second, Centrifugo asks once per cycle for the union of items everyone is watching and fans the changes back out.

An interactive demo playground demonstrating what Centrifugo brings to AI token streaming — channel multiplexing, recovery, multi-tab sync, transport fallbacks, and horizontal scaling with Redis.

Learn how Centrifugo's new publication filtering feature allows clients to subscribe with server-side tag filters, significantly reducing bandwidth usage and client-side processing overhead through efficient zero-allocation filtering.
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.
