Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

github.com/supiyun/centrifugo

Package Overview
Dependencies
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/supiyun/centrifugo

Source
Go Modules
Version
v1.7.6
Version published
Created
Source

Join the chat at https://gitter.im/centrifugal/centrifugo

Centrifugo is a real-time messaging server. It's language-agnostic and can be used in conjunction with application backend written in any language - Python, Ruby, Perl, PHP, Javascript, Java, Objective-C etc.

Centrifugo runs as separate service and keeps persistent Websocket or SockJS connections from your application clients (from web browsers or other environments like iOS or Android apps). When some event happens you can broadcast it to all interested clients using Centrifugo API.

Documentation is a good start to get all details. You can also find this introduction post interesting – this is a story behind Centrifugo.

How to install

Releases available as single executable files – just download latest release for your platform, unpack and run.

If you are on MacOS:

brew tap centrifugal/centrifugo https://github.com/centrifugal/centrifugo
brew install centrifugo

See official Docker image and Kubernetes Helm Chart.

There are also packages for 64-bit Debian, Centos and Ubuntu.

Demo

Try our demo instance on Heroku (password demo). Or deploy your own Centrifugo instance in one click:

Deploy

Highlights

  • Fast server capable to serve thousands of simultaneous connections
  • Easily integrates with existing application – no need to rewrite your backend code to introduce real-time events
  • HTTP API to communicate from your application backend (publish messages in channels etc.). API clients for Python, Ruby, PHP, Go, NodeJS. Simple to implement new one
  • Javascript client to connect from web browser over SockJS or pure Websocket protocol. Clients for iOS and Android on top of Websocket
  • Scale to several machines with Redis, Redis Sentinel for high availability, consistent hash sharding.
  • SHA-256 HMAC-based connection authentication and private channel authorization
  • Different types of channels – private, user limited, client limited channels
  • Flexible configuration of channels via namespaces
  • Presence information for channels (show all active clients in channel)
  • History information for channels (last messages sent into channels)
  • Join/leave events for channels (client goes online/offline)
  • Recover missed messages after network disconnect
  • Built-in administrative web interface
  • Possibility to use as WebRTC signaling server
  • Ready to deploy (docker image, RPM/DEB packages, Nginx configuration, automatic Let's Encrypt TLS certificates)
  • MIT license

Simplified scheme

scheme

FAQs

Package last updated on 28 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts