Centrifugo
Language-agnostic scalable real-time messaging server.
Centrifugo is an open-source, self-hosted real-time messaging server that provides a language-agnostic scalable WebSocket transport layer. It uses Redis or NATS for horizontal scalability across multiple server nodes, handling millions of simultaneous connections. Centrifugo supports WebSocket, SockJS, HTTP-streaming, and SSE transports with automatic protocol negotiation for broad client compatibility. Features include channel subscriptions with configurable permissions, per-channel online presence tracking, message history with configurable retention, and server-side subscriptions for pushing data without explicit client registration. The built-in admin web UI provides real-time monitoring of connections, channels, and server health. Centrifugo integrates via gRPC and HTTP APIs, working with any backend language including Go, PHP, Python, Java, and Node.js.