Skip to content

sara62/centrifugo

 
 

Repository files navigation

Centrifugo is a real-time messaging server. This is a successor of Centrifuge. Please note that it can be used in conjunction with your application backend written in any language - Python, Ruby, Perl, PHP, Javascript, Java, Objective-C etc.

In a nutshell this is a server running near your application and keeping lots of persistent Websocket or SockJS connections from your application clients (from web browsers or other environments). When some event happens you can broadcast it to all interested clients using Centrifugo API.

To get more information what is it for and how it works – please, read documentation of Centrifugal organization.

Releases available as single executable files – just download archive for your platform,
unpack it and you are done. See also Docker image.

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

Deploy

Highlights:

  • Fast server capable to serve thousands of simultanious connections
  • 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
  • Scale to several machines with Redis
  • SHA-256 HMAC-based authorization
  • Different types of channels – private, user limited, client limited channels
  • Flexible configuration of channels via namespaces
  • Presence information for channels (show all 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
  • Ready to deploy (docker image, rpm, Nginx configuration)
  • Easily integrates with existing application - no need to rewrite your backend code
  • MIT license

Simplified scheme:

scheme

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

About

Real-time messaging (Websockets or SockJS) server in Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.7%
  • Shell 0.3%