Centrifugo 是一个用 Golang 实现的基于 [Websocket](https://www.oschina.net/p/websocket) 或者 [SockJS](https://www.oschina.net/p/sockjs) 的实时通信平台。
支持数千个同时连接,提供基于频道的出版/订阅模式。PUB/SUB
容易和现有系统集成– 不改变已有后端情况下为系统提供实时通信能力。
HTTP API 和已有后端通信 . API clients for Python, Ruby, PHP, Go, NodeJS.
浏览器可以通过SockJS或者纯粹Websocket协议和centrifugal通信. 提供 iOS和Android平台SDK
采用Redis实现分布式部署.
SHA-256 HMAC连接认证和隐私保护
多种类型的频道 – 私有, 用户限制,客户端限制
通过名字空间灵活配置频道
支持即时消息和历史消息
支持用户加入/离开消息
网络重连后可以恢复消息
内置管理界面,提供多种计量(Metrics)
可用于WebRTC信令服务器
多种部署手段(docker 镜像, RPM/DEB 包, Nginx 配置, TLS certificates)
MIT license
通讯模型:
![image](https://static.oschina.net/uploads/img/201702/12120949_CfbS.png)
Centrifugo 包含如下子项目:
[centrifugo](https://github.com/centrifugal/centrifugo) - 采用 Go 语言开发的实时消息传递服务器
[centrifuge-js](https://github.com/centrifugal/centrifuge-js) - Javascript 客户端,可直接在浏览器使用
[centrifuge-android](https://github.com/centrifugal/centrifuge-android) - Android 的客户端开发包,可通过 WebSockets 与服务器通讯
[centrifuge-ios](https://github.com/centrifugal/centrifuge-ios) - Swift 开发包
[centrifuge-go](https://github.com/centrifugal/centrifuge-go) - Go 客户端开发包
[cent](https://github.com/centrifugal/cent) - Python 开发包
[adjacent](https://github.com/centrifugal/adjacent) - Cent 的小型封装包,简化了与 Django 框架的集成
[rubycent](https://github.com/centrifugal/rubycent) - Ruby gem to communicate
with Centrifugo server API.
[phpcent](https://github.com/centrifugal/phpcent) - PHP client to communicate
with Centrifugo server API.
[gocent](https://github.com/centrifugal/gocent) - Go client to communicate
with Centrifugo server API.
[jscent](https://github.com/centrifugal/jscent) - NodeJS client to communicate
with Centrifugo server API.
[web](https://github.com/centrifugal/web) - Centrifugo 的管理界面,基于 [ReactJS](https://www.oschina.net/p/facebook-react) 开发