Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events.
The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes.
The project covers channel subscription management, user presence tracking, and message recovery mechanisms to handle data loss during network disconnects. Security and operational capabilities include token-based connection authentication, proxy-based subscription validation, automated TLS certification, and connection rate limiting.
Administration is supported through a server management command-line interface, and the project is distributed as Docker container images for consistent deployment.