Skip to content

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

License

Notifications You must be signed in to change notification settings

shilkin/centrifugo

 
 

Repository files navigation

Centrifuge + Go = Centrifugo – harder, better, faster, stronger.

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

To understand 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 lots of simultanious connections
  • SHA-256 HMAC-based authorization
  • HTTP API to communicate from your application backend (publish messages in channels etc.). API clients for Python, Ruby, PHP. Simple to implement new one.
  • Javascript client to connect from web browser over SockJS or pure Websocket protocol
  • Presence, history and join/leave events for channels
  • Flexible configuration of channels via namespaces
  • Different types of channels - private, user limited, client limited channels
  • Administrative web interface
  • Scale to several machines with Redis
  • Ready to deploy (docker, 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 87.5%
  • CMake 12.4%
  • Shell 0.1%