Centrifugo
Language-agnostic real-time messaging (Websocket or SockJS) server.
Product Overview:
Centrifugo is a language-agnostic, self-hosted real-time messaging server that enables the creation of interactive applications with minimal delay. It's a PUB/SUB (Publish-Subscribe) server that handles persistent connections over various real-time transports, including WebSocket, HTTP-streaming, Server-Sent Events (SSE), SockJS, WebTransport, and GRPC. This powerful tool allows developers to build scalable, efficient, and flexible real-time applications with ease.
Main Features:
Centrifugo boasts a range of features that set it apart from other open-source solutions:
- Real-time transports: Supports multiple transport protocols for seamless integration with various application environments.
- Built-in scalability: Designed to handle many machines and connections using Redis, KeyDB, Nats, Tarantool, and more.
- Simple APIs: Offers straightforward HTTP and GRPC server APIs for easy communication between the app backend and Centrifugo.
- Flexible connection authentication: Supports JWT (JSON Web Tokens) and proxy-like mechanisms for secure connection management.
- Channel subscription multiplexing: Enables multiple subscriptions over a single connection, reducing overhead and improving performance.
- Different types of subscriptions: Allows for client-side and server-side subscriptions, providing flexibility in application design.
- Various channel permission strategies: Offers namespace concept and permission control to manage channel access.
- Hot message history: Preserves message history in channels and automatically recovers messages upon reconnection.
- Online channel presence information: Provides join/leave notifications for real-time awareness of channel participants.
- RPC calls to the backend: Enables remote procedure call (RPC) functionality over the real-time connection.
- Strict client protocol: Ensures reliable communication with clients through a strict client protocol.
- JSON and binary Protobuf message transfer: Supports optimized serialization for efficient data transfer.
- Beautiful embedded admin web UI: Provides an intuitive interface for administrators to monitor and manage Centrifugo instances.
By leveraging these features, developers can build scalable, real-time applications that meet the demands of modern interactive systems.
Related
NovuMongooseIM
Snikket
Chatwoot
Gotify
The Lounge
Hubzilla
REI3
Soketi
Star history for Centrifugo