All Projects → centrifugal → Centrifugo

centrifugal / Centrifugo

Licence: mit
Scalable real-time messaging server in a language-agnostic way. Set up once and forever.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Centrifugo

Centrifuge
Real-time messaging library for Go with scalability in mind
Stars: ✭ 446 (-92.1%)
Mutual labels:  redis, messaging, websocket, real-time, scalability, pubsub
Liftbridge
Lightweight, fault-tolerant message streams.
Stars: ✭ 2,175 (-61.5%)
Mutual labels:  messaging, streaming, grpc, pubsub
liftbridge-api
Protobuf definitions for the Liftbridge gRPC API. https://github.com/liftbridge-io/liftbridge
Stars: ✭ 15 (-99.73%)
Mutual labels:  streaming, messaging, grpc, pubsub
Pulsar Dotpulsar
The official .NET client library for Apache Pulsar
Stars: ✭ 101 (-98.21%)
Mutual labels:  messaging, streaming, pubsub
Wampsharp
A C# implementation of WAMP (The Web Application Messaging Protocol)
Stars: ✭ 355 (-93.72%)
Mutual labels:  websocket, real-time, pubsub
Pulsar
Apache Pulsar - distributed pub-sub messaging system
Stars: ✭ 10,118 (+79.11%)
Mutual labels:  messaging, streaming, pubsub
Autobahn Js
WAMP in JavaScript for Browsers and NodeJS
Stars: ✭ 1,345 (-76.19%)
Mutual labels:  websocket, real-time, pubsub
Pulsar Manager
Apache Pulsar Manager
Stars: ✭ 247 (-95.63%)
Mutual labels:  messaging, streaming, pubsub
Pulsar Client Go
Apache Pulsar Go Client Library
Stars: ✭ 251 (-95.56%)
Mutual labels:  messaging, streaming, pubsub
pulsar-adapters
Apache Pulsar Adapters
Stars: ✭ 18 (-99.68%)
Mutual labels:  streaming, messaging, pubsub
pulsar-helm-chart
Official Apache Pulsar Helm Chart
Stars: ✭ 122 (-97.84%)
Mutual labels:  streaming, messaging, pubsub
Autobahn Python
WebSocket and WAMP in Python for Twisted and asyncio
Stars: ✭ 2,305 (-59.2%)
Mutual labels:  websocket, real-time, pubsub
Sockjs Node
WebSocket emulation - Node.js server
Stars: ✭ 1,987 (-64.83%)
Mutual labels:  websocket, real-time, sockjs
Beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
Stars: ✭ 1,056 (-81.31%)
Mutual labels:  messaging, websocket, pubsub
Autobahn Java
WebSocket & WAMP in Java for Android and Java 8
Stars: ✭ 1,467 (-74.03%)
Mutual labels:  websocket, real-time, pubsub
Graphik
Graphik is a Backend as a Service implemented as an identity-aware document & graph database with support for gRPC and graphQL
Stars: ✭ 277 (-95.1%)
Mutual labels:  streaming, grpc, pubsub
Sockjs Client
WebSocket emulation - Javascript client
Stars: ✭ 7,808 (+38.22%)
Mutual labels:  websocket, real-time, sockjs
Istio Micro
istio 微服务示例代码 grpc+protobuf+echo+websocket+mysql+redis+kafka+docker-compose
Stars: ✭ 194 (-96.57%)
Mutual labels:  redis, websocket, grpc
pulsar-client-node
Apache Pulsar NodeJS Client
Stars: ✭ 88 (-98.44%)
Mutual labels:  streaming, messaging, pubsub
Primus
⚡ Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
Stars: ✭ 4,302 (-23.84%)
Mutual labels:  websocket, real-time, sockjs

Join the chat at https://t.me/joinchat/ABFVWBE0AhkyyhREoaboXQ   Join the chat at https://discord.gg/tYgADKx

Centrifugo is a scalable real-time messaging server in a language-agnostic way.

Centrifugo works in conjunction with application backend written in any programming language. It runs as a separate service and keeps persistent connections from application clients established over several supported types of transport (WebSocket, SockJS, EventSource, GRPC, HTTP-streaming). When you need to deliver an event to your clients in real-time, you publish it to Centrifugo server API – and Centrifugo then broadcasts the event to all connected clients interested in this event (clients subscribed to the event channel). In other words – Centrifugo is a user-facing PUB/SUB server.

For more information follow to Centrifugo documentation site.

scheme

How to install

See installation instructions in Centrifugo documentation.

Demo

Try our demo instance on Heroku (admin password is password, token_hmac_secret_key is secret, API key is api_key). Or deploy your own Centrifugo instance in one click:

Deploy

Highlights

  • Centrifugo is fast and capable to scale to millions of simultaneous connections
  • Simple integration with any application – works as separate service, provides HTTP and GRPC API
  • Client connectors for popular frontend environments – for both web and mobile development
  • Strict client protocol based on Protobuf schema
  • Bidirectional transport support (WebSocket and SockJS) for full-featured communication
  • Unidirectional transport support without need in client connectors - use native APIs (SSE, Fetch, WebSocket, GRPC)
  • User authentication with a JWT or over connection request proxy to configured HTTP/GRPC endpoint
  • Proper connection management and expiration control
  • Various types of channels: anonymous, authenticated, private, user-limited
  • Various types of subscriptions: client-side or server-side
  • Transform RPC calls over WebSocket/SockJS to configured HTTP or GRPC endpoint call
  • Presence information for channels (show all active clients in a channel)
  • History information for channels (last messages published into a channel)
  • Join/leave events for channels (client subscribed/unsubscribed)
  • Automatic recovery of missed messages between reconnects over configured retention period
  • Built-in administrative web panel
  • Cross platform – works on Linux, macOS and Windows
  • Ready to deploy (Docker, RPM/DEB packages, automatic TLS certificates, Prometheus instrumentation, Grafana dashboard)
  • Open-source license

Backing

This repository is hosted by packagecloud.io.

Private NPM registry and Maven, RPM, DEB, PyPi and RubyGem Repository · packagecloud

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].