Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably, socket.io, Phoenix.PubSub, SignalR. Set up once and forever. observed · 2026-08-28
Health v2 · maintenance only
99/100
- Activity 99
- Release rhythm 99
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 15
- age_days: 4173
- days_rel: 10
- days_push: 7
- n_releases_24m: 36
Adoption not part of the score
10668 stars · 728 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Centrifugo is an open-source, language-agnostic real-time messaging (PUB/SUB) server written in Go that delivers messages to online users over WebSocket, SSE, HTTP-streaming, WebTransport, and gRPC transports. It scales horizontally across nodes using Redis, PostgreSQL, or NATS brokers and integrates with any backend via HTTP/gRPC APIs and official client SDKs.
Use cases
- add real-time chat or messaging to an existing app in any language
- push live comments and notifications to web or mobile users
- stream AI/LLM responses to the browser in real time
- build multiplayer game state sync over WebSockets
- broadcast live metrics and data visualization updates
- replace socket.io, Pusher, Ably, or SignalR with a self-hosted server
- handle millions of persistent WebSocket connections at scale
When to choose
- your backend (Django, Rails, Laravel, etc.) lacks good persistent-connection support
- you want a standalone, battle-tested PUB/SUB server decoupled from business logic
- you need horizontal scaling with Redis/NATS/PostgreSQL brokers
- you want multiple transports (WebSocket, SSE, WebTransport, gRPC) with SDKs and fallbacks
- you need channel history, recovery, presence, and delta compression out of the box
When to avoid
- you only need simple request/response APIs without server push
- you prefer building real-time directly inside a framework with native WebSocket support
- you need strict hard real-time latency guarantees
- you want a fully managed hosted service rather than self-hosting
Facets
service · maturity stable
websocket message-queue http-server rpc middleware auth web-development backend self-hosted microservices windows self-hosted go cloud pubsub real-time-messaging websocket-server sse webtransport grpc push-notifications language-agnostic horizontal-scaling jwt-authentication chat live-updates messaging real-time linux macos docker web-server
10 sources
- readme: https://github.com/centrifugal/centrifugo · fetched 2026-08-28 · 64f4600e2f5b
- homepage: https://centrifugal.dev · fetched 2026-08-29 · ff62c67d59c0
- site_page: https://centrifugal.dev/docs/getting-started/introduction · fetched 2026-08-29 · f7beb832f67e
- site_page: https://centrifugal.dev/docs/server/configuration · fetched 2026-08-29 · 307842b1ad73
- site_page: https://centrifugal.dev/docs/transports/overview · fetched 2026-08-29 · e016ce63c2c5
- site_page: https://centrifugal.dev/docs/faq · fetched 2026-08-29 · 3e984ac1e59c
- site_page: https://centrifugal.dev/docs/tutorial/intro · fetched 2026-08-29 · 7838fd746a28
- site_page: https://centrifugal.dev/docs/5/getting-started/introduction · fetched 2026-08-29 · 87ab7da70915
- site_page: https://centrifugal.dev/docs/4/getting-started/introduction · fetched 2026-08-29 · d99a4fc7d697
- site_page: https://centrifugal.dev/docs/3/getting-started/introduction · fetched 2026-08-29 · f34f49f84edd
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| centrifugal/centrifugo | main | 99 |
| centrifugal/centrifuge | backend | 84 |
For agents
markdown · JSON · MCP: product_card(name="centrifugal/centrifugo")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem