Centrifuge review
An open-source Go library for self-hosted pub/sub, with multiple transports and recovery.
Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026
Centrifuge is an open-source Go library for adding real-time messaging to applications. It suits teams building interactive products such as chat, live comments, multiplayer games, telemetry, or collaborative tools, especially when they want to self-host. It provides channel-based publish/subscribe, bidirectional WebSocket messaging in JSON or Protobuf, and client SDKs for browser and server environments as well as mobile platforms. This is a library to incorporate into an application, not a hosted service; the separate Centrifugo server product is distinct.
Its transport and messaging features give teams options beyond a single WebSocket connection. HTTP streaming and Server-Sent Events are also supported, alongside gRPC, unidirectional WebSocket, and experimental WebSocket over HTTP/2. Channels can be subscribed to from clients or the server, and presence information plus join/leave events support application features that depend on who is connected. Channel message history and recovery after brief disconnects can help maintain continuity. Redis PUB/SUB and Redis clustering options distribute messaging across server nodes, while Prometheus instrumentation supports metrics collection.
Centrifuge is a fit for teams prepared to integrate and operate a Go library in their own deployment. Authentication can use HTTP middleware or token-based methods, and official client SDKs cover JavaScript, Go, Dart/Flutter, Swift/iOS, Java/Android, and Python asyncio. The tradeoff is operational responsibility: it is self-hosted and has no hosted-service plan or pricing tier described here. The repository notes that the library has no v1 release and its API may change, so teams that need a stable released API or a managed WebSocket service should consider alternatives. Documentation and community are the stated support channels.
Centrifuge pros and cons
- Where it wins
- Supports WebSockets, HTTP streaming, and Server-Sent Events
- Offers channel history, presence, and recovery after brief disconnects
- Scales across server nodes with Redis and provides Prometheus instrumentation
- Where it doesn't
- Requires teams to run and operate their own deployment
- Designed as a Go library, not a hosted WebSocket service
- The library has no v1 release, and its API may change
Centrifuge fact sheet, pricing and score →
Advertiser disclosure: iTechGuides is reader-supported. We may earn a commission when you click some links. How we rank.
Last updated · How we research and update