OpenSourceProjects logo
centrifugo logo

centrifugoScalable 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.

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.

10,190 stars
694 forks
Go
Apache-2.0
centrifugo screenshot

centrifugo

Centrifugo is a scalable, self-hosted real-time messaging server that provides language-agnostic PUB/SUB functionality over multiple modern transports. It serves as an open-source alternative to managed services like Pusher, Pubnub, and Ably, enabling developers to decouple business logic from real-time communication layers.

Key Features

  • Multiple Transport Protocols: Supports WebSocket, HTTP-streaming, Server-Sent Events, GRPC, and WebTransport for flexible client connections
  • Built-in Scalability: Integrates with Redis, Redis Cluster, Nats, and Redis-compatible storage solutions to handle massive concurrent connections
  • Channel Subscriptions: Implements channel-based PUB/SUB with multiplexing over single connections, presence tracking, and join/leave notifications
  • Advanced Message Features: Includes hot message history, automatic recovery on reconnect, delta compression, and cache recovery mode
  • Flexible Authentication: Offers JWT-based and proxy-based connection authentication mechanisms
  • Rich API: Provides simple HTTP and GRPC server APIs plus support for asynchronous PostgreSQL and Kafka consumers
  • Observable: Exposes comprehensive Prometheus metrics and includes an official Grafana dashboard with beautiful embedded admin UI

Use Cases

  • Chat Applications: Build real-time messaging and chat systems with presence awareness and message history
  • Live Collaboration: Power collaborative tools, multiplayer games, and live data visualizations with instant updates
  • Live Comments: Deliver real-time user comments and reactions for content platforms and social features
  • IoT and Notifications: Stream live updates and notifications to connected clients at scale

Who Is It For

Centrifugo is ideal for backend developers and architects building modern applications that require real-time capabilities without vendor lock-in. It suits teams using any programming language or framework who need production-ready, scalable real-time communication infrastructure they can self-host and maintain.