Code Monkey home page Code Monkey logo

centrifugo's Introduction

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

centrifugo's People

Contributors

fzambia avatar klauspost avatar banks avatar silischev avatar chebyrash avatar vitoordaz avatar lopatkinevgeniy avatar lxm avatar sannis avatar vladshut avatar alxrem avatar fre5h avatar ozgursoy avatar danikarik avatar dvrkps avatar denis660 avatar silence44 avatar dchest avatar fhalim avatar sobolevn avatar cristaloleg avatar oleh-ozimok avatar patrickkvartsaniy avatar sergeyparamoshkin avatar gitter-badger avatar tufanbarisyildirim avatar alexshavelev44 avatar khvalov avatar orthographic-pedant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.