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

Novu
MongooseIM
Snikket
Chatwoot
Gotify
The Lounge
Hubzilla
REI3
Soketi
Star history

Star history for Centrifugo