A scalable, language-agnostic real-time messaging server for building chat apps, live features, and collaborative tools.
Centrifugo is an open-source scalable real-time messaging server that enables instant message delivery to online users over various transports like WebSocket and Server-Sent Events. It functions as a user-facing PUB/SUB server with channel subscriptions, allowing developers to add real-time features such as chat, live comments, and data visualizations to their applications. The server decouples business logic from the real-time transport layer, making it suitable for modern architectures.
Backend and full-stack developers building applications that require real-time communication, such as chat apps, collaborative tools, live dashboards, or multiplayer games. It is ideal for teams needing a scalable, self-hosted alternative to commercial real-time messaging services.
Developers choose Centrifugo for its production-ready scalability, language-agnostic design, and comprehensive feature set including built-in history, presence, and multiple transport protocols. It offers a self-hosted, cost-effective solution with greater control and flexibility compared to proprietary alternatives.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports WebSocket, HTTP-streaming, SSE, GRPC, and WebTransport, allowing clients to choose the best protocol for their environment, as emphasized in the README.
Horizontally scales using Redis or Nats, enabling high concurrency without custom sharding, which is a key feature highlighted for production use.
Includes channel history, presence, RPC calls, and delta compression, providing a production-ready solution for real-time needs out of the box.
Works with any backend via HTTP/GRPC APIs, avoiding lock-in to specific programming languages, as noted in the philosophy.
Requires managing and scaling the Centrifugo server along with dependencies like Redis, adding operational overhead compared to cloud services.
The strict protocol, channel namespaces, and configuration options can be complex for developers new to real-time systems, despite thorough documentation.
Scalability relies on Redis or Nats, introducing additional infrastructure to maintain, potential latency, and cost concerns.
Centrifugo is an open-source alternative to the following products:
Socket.IO is a JavaScript library for real-time web applications that enables bidirectional communication between web clients and servers.
Pusher is a platform that provides real-time APIs and tools for building interactive features like live chat, notifications, and data synchronization.
A real-time data delivery platform that provides APIs for pub/sub messaging, data streaming, and synchronization across web and mobile apps.
SignalR is a .NET library for adding real-time web functionality to applications, enabling server-side code to push content to clients instantly.
PubNub is a real-time communication platform that provides APIs for building chat, live updates, and IoT applications with low-latency data streaming.