Centrifugo

Overall rating

6.8

Stars: 8613

Contributors: 40

Centrifugo is a real-time messaging server designed for scalable and efficient communication. It provides WebSocket-based real-time notifications, chat applications, and live updates for web and mobile apps. The platform supports multi-channel messaging, message persistence, and integrates with back-end services through its API, enabling secure and fast message delivery.

Key Features

  • Efficient real-time transports: WebSocket, HTTP-streaming, Server-Sent Events (SSE), GRPC, WebTransport
  • Built-in scalability with Redis (or Redis Cluster, or Redis-compatible storage – ex. AWS Elasticache, KeyDB, DragonflyDB, etc), or Nats.
  • Simple HTTP and GRPC server API to communicate with Centrifugo from the app backend
  • Flexible connection authentication mechanisms: JWT and proxy-like
  • Channel subscription multiplexing over a single connection
  • Different types of subscriptions: client-side and server-side
  • Various channel permission strategies, channel namespace concept
  • Hot message history in channels, with automatic message recovery upon reconnect, cache recovery mode (deliver latest publication immediately upon subscription)
  • Delta compression in channels based on Fossil algorithm
  • Online channel presence information, with join/leave notifications
  • A way to send RPC calls to the backend over the real-time connection
  • Strict and effective client protocol wrapped by several official SDKs
  • JSON and binary Protobuf message transfer, with optimized serialization
  • Beautiful embedded admin web UI
Activity

Last update: Jan 13, 2025

  • Commits (last week)

    0

  • Resolved issues (last week)

    0

  • Merged PRs (last week)

    0

Maturity

Last update: Jan 18, 2025

  • Age

    9 years 9 months

  • Stability

    STABLE

Information

Funding

Has commercial version

Programming languages

Go
Shell
Lua
JavaScript

Tags

pubsub
webtransport
scalability
real-time
websocket
streaming
http-streaming
websockets
sse
http3
messaging
redis
sockjs
eventsource
grpc