Centrifugo(一)简介

关文 · · 1899 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Centrifugo 是一个用 Golang 实现的基于 Websocket 或者 SockJS 的实时通信平台。

  • 提供基于频道的发布/订阅(PUB/SUB)模式。

  • 容易和现有系统集成– 不改变已有后端情况下为系统提供实时通信能力。

  • HTTP API 和已有后端通信 . API clients for Python, Ruby, PHP, Go, NodeJS。

  • 浏览器可以通过SockJS或者纯粹Websocket协议和centrifugal通信。 提供 iOS和Android平台SDK。

  • 采用Redis实现分布式部署,也支持使用Memory引擎单机简单部署。

  • SHA-256 HMAC连接认证和隐私保护。

  • 多种类型的频道 – 私有, 用户限制,客户端限制。

  • 通过名字空间灵活配置频道。

  • 支持即时消息和历史消息。

  • 支持用户加入/离开消息。

  • 网络重连后可以恢复消息。

  • 内置管理界面,提供多种计量(Metrics)。

  • 可用于WebRTC信令服务器。

  • 多种部署手段(docker 镜像, RPM/DEB 包, Nginx 配置, TLS certificates)。

  • MIT license。

基本运行框架:

基本运行框架

​ Centrifugo 作为独立服务器运行,可以处理来自应用程序用户的持久连接。应用的前端和后端可以基于任何语言进行开发。你的客户端使用应用程序后端提供的令牌(Token JWT)连接到 Centrifugo,并订阅频道(Channel)。当有事件发生时,后端应用可以使用 Centrifugo 的 API 发布消息到相关 Channel。随后,消息会被投递到所有订阅本 Channel 的客户端。

项目地址:https://github.com/centrifugal/centrifugo


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:关文

查看原文:Centrifugo(一)简介

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1899 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传