# centrifugo **Repository Path**: shyngo/centrifugo ## Basic Information - **Project Name**: centrifugo - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-21 - **Last Updated**: 2025-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Centrifugo is an open-source scalable real-time messaging server. Centrifugo can instantly deliver messages to application online users connected over supported transports (WebSocket, HTTP-streaming, Server-Sent Events (aka EventSource), GRPC, WebTransport). Centrifugo has the concept of channel subscriptions โ€“ so it's a user-facing PUB/SUB server. Centrifugo is language-agnostic and can be used to build chat apps, live comments, multiplayer games, real-time data visualizations, collaborative tools, etc. in combination with any backend. It is well suited for modern architectures and allows decoupling the business logic from the real-time transport layer. Several official client SDKs for browser and mobile development wrap the bidirectional protocol. In addition, Centrifugo supports a unidirectional approach for simple use cases with no SDK dependency. ## Documentation * [Centrifugo official documentation site](https://centrifugal.dev) * [Installation instructions](https://centrifugal.dev/docs/getting-started/installation) * [Getting started tutorial](https://centrifugal.dev/docs/getting-started/quickstart) * [Design overview and idiomatic usage](https://centrifugal.dev/docs/getting-started/design) * [Build a WebSocket chat/messenger app with Centrifugo](https://centrifugal.dev/docs/tutorial/intro) tutorial * [Centrifugal blog](https://centrifugal.dev/blog) * [FAQ](https://centrifugal.dev/docs/faq) ## Join community * [Telegram](https://t.me/joinchat/ABFVWBE0AhkyyhREoaboXQ) * [Discord](https://discord.gg/tYgADKx) * [Twitter](https://twitter.com/centrifugalabs) ## Why Centrifugo The core idea of Centrifugo is simple โ€“ it's a PUB/SUB server on top of modern real-time transports: The hard part is to make this concept production-ready, efficient, flexible and available from different application environments. Centrifugo is a mature solution that already helped many projects with adding real-time features and scale towards many concurrent connections. Centrifugo provides a set of features not available in other open-source solutions in the area: * Efficient real-time transports: WebSocket, HTTP-streaming, Server-Sent Events, GRPC, WebTransport * Built-in scalability with Redis (or Redis Cluster, or Redis-compatible storage โ€“ ex. AWS Elasticache, Valkey, KeyDB, DragonflyDB, etc), or Nats. * Simple HTTP and GRPC server API to communicate with Centrifugo from the app backend * Asynchronous PostgreSQL and Kafka consumers to support transactional outbox and CDC patterns * Flexible connection authentication mechanisms: JWT and proxy-like (via request from Centrifugo to the backend) * 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 and built-in batching * Beautiful embedded admin web UI * Great observability with lots of Prometheus metrics exposed and official Grafana dashboard * And much more, visit [Centrifugo documentation site](https://centrifugal.dev) ## Backing This repository is hosted by [packagecloud.io](https://packagecloud.io/). Private NPM registry and Maven, RPM, DEB, PyPi and RubyGem Repository ยท packagecloud Also thanks to [JetBrains](https://www.jetbrains.com/) for supporting OSS (most of the code here written in Goland): JetBrains logo