Centrifugo
centrifugal.dev
1
Leaving SiteNav
External Link Disclaimer
You are about to visit centrifugal.dev. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Centrifugo is a scalable real-time messaging server in a language-agnostic way, designed to handle millions of concurrent connections and deliver messages with minimal latency. Written in Go and developed by Centrifugal Labs (led by Alexandr Emelin), Centrifugo has over 8,600 stars as of 2026 and serves as a self-hosted alternative to managed real-time services like Pusher, Ably, and PubNub. Centrifugo acts as a separate real-time broker that sits between application backend and frontend clients, receiving messages from the backend via HTTP or gRPC API and pushing them to connected clients over WebSocket, SSE (Server-Sent Events), HTTP-streaming, or WebTransport. Key features include: multi-transport support (WebSocket, SSE, HTTP-streaming, and WebTransport for QUIC-based connections), publish/subscribe model with channels (clients subscribe to channels and receive messages published to those channels), channel namespaces (organizing channels into logical groups with per-namespace permissions), JWT-based authentication with ed25519, HMAC, or RSA signatures, presence (tracking online users in a channel with join/leave events), history (storing recent messages for late joiners with configurable retention), private channels (requiring backend permission for subscription), server-to-client and client-to-server messaging, user limit and connection limit per channel, message proxies and hooks (calling backend webhooks on events like connect, publish, subscribe), sharding and clustering (horizontal scaling across multiple nodes using Redis Pub/Sub or Redis Streams for inter-node communication), Redis and KeyDB support for scaling, message at-most-once delivery, message encoding (JSON, msgpack, protobuf), Prometheus metrics, granular permissions (read, write, presence, history, join, leave per namespace), and rate limiting.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike