Centrifugo is an open-source, self-hosted real-time messaging server supporting WebSocket, SSE, and gRPC. See features, licensing, and PRO options.
Centrifugo is an open-source, self-hosted real-time messaging server built by developer Alexander Emelin under the Centrifugal Labs project. Written in Go, it began as an earlier Python tool called Centrifuge around 2012 before being rewritten and established as Centrifugo around 2015, and it is released under the Apache 2.0 license.
Centrifugo is designed as a self-hosted alternative to hosted real-time APIs such as Pusher, Ably, PubNub, and Socket.IO. Instead of paying a third-party service per connection or message, teams run Centrifugo on their own infrastructure and connect it to their existing authentication and backend systems.
Centrifugo exposes a channel-based publish/subscribe model over WebSocket, HTTP-streaming, Server-Sent Events, WebTransport, and gRPC, so clients can pick whichever transport suits their environment. It supports channel history with automatic stream recovery after disconnects, online presence tracking, delta-compressed updates to cut bandwidth, and the ability to proxy connection and subscription events to an application's own backend for custom authorization. For scaling, Centrifugo coordinates cluster state through Redis, Redis-compatible stores, PostgreSQL, or NATS, and the project reports that a single modern server can handle around one million concurrent WebSocket connections and roughly thirty million delivered messages per minute. Official SDKs cover JavaScript, React Native, Dart/Flutter, Swift, Java, Python, Go, and .NET.
Centrifugo's core server is free and open source under the Apache 2.0 license, with no cost to self-host at any scale. Centrifugal Labs also sells Centrifugo PRO, a paid edition with additional enterprise-oriented features; PRO pricing is not publicly listed and is quoted on request, so cost beyond infrastructure depends on whether a team needs the open-source core or the commercial PRO edition.
Yes. Centrifugo's core server is open source under the Apache 2.0 license and free to self-host. A paid Centrifugo PRO edition with additional enterprise features is also available.
Common use cases include chat applications, live comment feeds, multiplayer game state sync, real-time dashboards, collaborative tools, and streaming AI/LLM responses to clients as they're generated.
Centrifugo scales horizontally across a cluster using Redis (or Redis-compatible stores), PostgreSQL, or NATS to coordinate state between nodes.
Centrifugo supports WebSocket, HTTP-streaming, Server-Sent Events, WebTransport, and gRPC.
Centrifugo is maintained by Alexander Emelin and the Centrifugal Labs project.