awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
centrifugal avatar

centrifugal/centrifugo

0
View on GitHub↗
10,404 stars·712 forks·Go·Apache-2.0·34 viewscentrifugal.dev↗

Centrifugo

Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events.

The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes.

The project covers channel subscription management, user presence tracking, and message recovery mechanisms to handle data loss during network disconnects. Security and operational capabilities include token-based connection authentication, proxy-based subscription validation, automated TLS certification, and connection rate limiting.

Administration is supported through a server management command-line interface, and the project is distributed as Docker container images for consistent deployment.

Features

  • Real-Time Messaging Systems - Provides a scalable infrastructure for low-latency message delivery and state synchronization across various web protocols.
  • Self-Hosted Communication Servers - Provides a self-hosted communication server for managing persistent connections and broadcasting on private infrastructure.
  • Redis Connectors - Integrates Redis as a backend store for distributed message brokering and presence tracking.
  • Distributed Messaging - Utilizes a distributed messaging architecture with Redis to coordinate presence and delivery across server nodes.
  • Self-Hosted Infrastructure - Provides an independent, self-hosted infrastructure for real-time data streams and messaging.
  • Real-time Notification Broadcasters - Sends time-sensitive updates and notifications to a large number of concurrent users via WebSocket connections.
  • Message Brokers - Functions as a message broker to facilitate asynchronous communication and data distribution across server nodes.
  • Pub-Sub Subscriptions - Implements a publish-subscribe system allowing clients to follow specific channels for real-time updates.
  • Messaging Servers - Functions as a real-time messaging server delivering instant notifications via WebSockets and Server-Sent Events.
  • Protocol-Agnostic Transport Layers - Decouples business logic from the network layer to support multiple transport protocols like WebSockets and SSE.
  • Pub-Sub Systems - Implements a pub-sub system for managing channel subscriptions and real-time data delivery.
  • Web Transport Streaming - Transmits real-time information to clients via standard web protocols including WebSockets and Server-Sent Events.
  • Connection Authentication Mechanisms - Implements server-side validation of client identities using tokens and cryptographic keys.
  • Token-Based Authentication - Uses cryptographically signed tokens to verify client identity and secure system access.
  • PubSub Implementations - Implements a language-agnostic publish-subscribe model for efficient data distribution to multiple clients.
  • Connection Rate Limiting - Caps the number of new connections per second to protect the server from resource exhaustion.
  • Transport-Agnostic Delivery - Decouples business logic from network protocols to enable message delivery across diverse transport layers.
  • Message Recovery Mechanisms - Tracks subscription states and message offsets to ensure data recovery after temporary network drops.
  • Stateful Recovery Mechanisms - Tracks subscription states to automatically recover missed messages after network disconnects.
  • External Authorization Proxies - Validates channel subscriptions by forwarding authorization requests to an external proxy service.
  • Subscription Authorization - Controls channel access via proxy requests and verifies the expiration status of user subscriptions.
  • User Presence Monitoring - Monitors and tracks the real-time online or offline status of users within communication channels.
  • Messaging Systems - Real-time messaging server supporting WebSockets and SockJS.
  • Communication and Messaging - Real-time messaging server.
  • Communication and Real-time - A real-time messaging server for backend applications.
  • Communication Systems - Real-time messaging server using WebSockets.
  • Messaging - Listed in the “Messaging” section of the Awesome Go awesome list.
  • Messaging Systems - Real-time messaging server.

Star history

Star history chart for centrifugal/centrifugoStar history chart for centrifugal/centrifugo

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Centrifugo

These projects share indexed features with Centrifugo. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • tinode/chattinode avatar

    tinode/chat

    13,371View on GitHub↗

    This project is a self-hosted, cross-platform instant messaging platform featuring a Go backend and a protobuf-based messaging server. It provides a unified communication suite with native clients for iOS, Android, and web, utilizing gRPC and Protocol Buffers for efficient data exchange. The system is distinguished by an extensible chatbot framework that allows for the integration of automated bots and plugins via standardized service interfaces. It supports high-availability clustering with sharded load distribution and a pluggable database backend to ensure reliability and flexible data per

    Gochatchat-applicationchatapp
    View on GitHub↗13,371
  • nats-io/nats-servernats-io avatar

    nats-io/nats-server

    20,076View on GitHub↗

    NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge computing, and distributed microservices. It functions as a distributed publish-subscribe broker that routes messages using hierarchical, dot-separated subject strings, enabling decoupled communication between services without requiring centralized broker lookups. The system supports core messaging patterns including asynchronous publish-subscribe, request-reply, and load-balanced queue processing. The platform distinguishes itself through a decentralized architecture that eliminates t

    Gocloudcloud-computingcloud-native
    View on GitHub↗20,076
  • nats-io/nats.gonats-io avatar

    nats-io/nats.go

    6,657View on GitHub↗

    This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the necessary tools for Go applications to exchange messages using publish-subscribe and request-reply patterns, as well as specialized clients for managing persistent streams and distributed storage. The library includes a JetStream client for durable message streaming and replay, a Key-Value store client for managing distributed state with versioning and watchers, and an Object Store client for the storage and retrieval of large binary files via chunked delivery. The implementation

    Gocloud-nativecloud-native-architecturescloud-native-microservices
    View on GitHub↗6,657
  • zulip/zulipzulip avatar

    zulip/zulip

    24,696View on GitHub↗

    Zulip is an open-source, self-hosted chat platform designed for real-time team communication. It organizes conversations into threaded streams, allowing users to maintain focus and manage complex discussions within a private, secure infrastructure. The project provides full control over data, authentication, and server management, making it a comprehensive solution for organizations requiring a dedicated messaging environment. The platform distinguishes itself through a hybrid backend architecture that combines a robust web framework for standard requests with an asynchronous event-streaming

    Pythonapachechatcollaboration
    View on GitHub↗24,696
Compare all 30 related projects→

Frequently asked questions

What does centrifugal/centrifugo do?

Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events.

What are the main features of centrifugal/centrifugo?

The main features of centrifugal/centrifugo are: Real-Time Messaging Systems, Self-Hosted Communication Servers, Redis Connectors, Distributed Messaging, Self-Hosted Infrastructure, Real-time Notification Broadcasters, Message Brokers, Pub-Sub Subscriptions.

Which projects share features with centrifugal/centrifugo?

Projects with overlapping indexed features include: tinode/chat — This project is a self-hosted, cross-platform instant messaging platform featuring a Go backend and a protobuf-based… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge… nats-io/nats.go — This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the… zulip/zulip — Zulip is an open-source, self-hosted chat platform designed for real-time team communication. It organizes… gotify/server — Gotify is a self-hosted notification server designed to centralize the receipt and dispatch of real-time messages. It… dunglas/mercure — Mercure is an HTTP-based message broker and real-time pub/sub server that routes asynchronous data updates to…