centrifugo

command module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2016 License: MIT Imports: 24 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/FZambia/go-logger
Package logger provides a logger for Centrifugo server.
Package logger provides a logger for Centrifugo server.
_workspace/src/github.com/ajstarks/svgo
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).
Package svg generates SVG as defined by the Scalable Vector Graphics 1.1 Specification (<http://www.w3.org/TR/SVG11/>).
barchart - bar chart
_workspace/src/github.com/ajstarks/svgo/benchviz
benchviz: visualize benchmark data from benchcmp
benchviz: visualize benchmark data from benchcmp
cube: draw cubes
_workspace/src/github.com/ajstarks/svgo/pattern
pattern: test the pattern function
pattern: test the pattern function
picserv: serve pictures
_workspace/src/github.com/ajstarks/svgo/rr
radar roadmap (via Ernst and Young)
radar roadmap (via Ernst and Young)
_workspace/src/github.com/ajstarks/svgo/shotchart
shotchart: make NBA shotcharts
shotchart: make NBA shotcharts
_workspace/src/github.com/ajstarks/svgo/svgplay
svgplay: sketch with SVGo, (derived from the old misc/goplay), except: (1) only listen on localhost, (default port 1999) (2) always render html, (3) SVGo default code,
svgplay: sketch with SVGo, (derived from the old misc/goplay), except: (1) only listen on localhost, (default port 1999) (2) always render html, (3) SVGo default code,
_workspace/src/github.com/elazarl/go-bindata-assetfs
assetfs allows packages to serve static content embedded with the go-bindata tool with the standard net/http package.
assetfs allows packages to serve static content embedded with the go-bindata tool with the standard net/http package.
_workspace/src/github.com/garyburd/redigo/internal/redistest
Package redistest contains utilities for writing Redigo tests.
Package redistest contains utilities for writing Redigo tests.
_workspace/src/github.com/garyburd/redigo/redis
Package redis is a client for the Redis database.
Package redis is a client for the Redis database.
_workspace/src/github.com/gorilla/securecookie
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values.
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values.
_workspace/src/github.com/gorilla/websocket
Package websocket implements the WebSocket protocol defined in RFC 6455.
Package websocket implements the WebSocket protocol defined in RFC 6455.
_workspace/src/github.com/gorilla/websocket/examples/autobahn
Command server is a test server for the Autobahn WebSockets Test Suite.
Command server is a test server for the Autobahn WebSockets Test Suite.
_workspace/src/github.com/kr/pretty
Package pretty provides pretty-printing for Go values.
Package pretty provides pretty-printing for Go values.
_workspace/src/github.com/kr/text
Package text provides rudimentary functions for manipulating text in paragraphs.
Package text provides rudimentary functions for manipulating text in paragraphs.
_workspace/src/github.com/kr/text/colwriter
Package colwriter provides a write filter that formats input lines in multiple columns.
Package colwriter provides a write filter that formats input lines in multiple columns.
_workspace/src/github.com/kr/text/mc
Command mc prints in multiple columns.
Command mc prints in multiple columns.
_workspace/src/github.com/magiconair/properties
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
_workspace/src/github.com/mitchellh/mapstructure
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
_workspace/src/github.com/satori/go.uuid
Package uuid provides implementation of Universally Unique Identifier (UUID).
Package uuid provides implementation of Universally Unique Identifier (UUID).
_workspace/src/github.com/spf13/cobra
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
_workspace/src/github.com/spf13/pflag
pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
_workspace/src/github.com/spf13/viper/remote
Package remote integrates the remote features of Viper.
Package remote integrates the remote features of Viper.
_workspace/src/github.com/stretchr/testify/assert
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
_workspace/src/golang.org/x/net/websocket
Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
_workspace/src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.
extras
Package libcentrifugo is a real-time core for Centrifugo server.
Package libcentrifugo is a real-time core for Centrifugo server.
auth
Package auth provides functions to generate and check Centrifugo tokens and signs.
Package auth provides functions to generate and check Centrifugo tokens and signs.
bytequeue
Package bytequeue provides []byte queue for libcentrifugo package client messages.
Package bytequeue provides []byte queue for libcentrifugo package client messages.
priority
Package priority provides priority queue for libcentrifugo package Memory Engine.
Package priority provides priority queue for libcentrifugo package Memory Engine.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL