Centrifugo(二)基本使用

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

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

基本运行框架:

基本运行框架

Centrifugo 的使用场景一般涉及三个部分:客户端(前端)、应用程序(后端)和 Centrifugo。当然,也可以只有客户端和 Centrifugo。基本使用流程如下:

  1. 下载并安装Centrifugo,推荐使用 docker 方式。

  2. 创建基础配置文件,设置 secretapi_key。配置文件(config.json)可以通过命令自动创建: ./centrifugo genconfig

  3. 在后端应用程序中设置三个变量:Centrifugo secretCentrifugo API KeyCentrifugo API addressCentrifugo secretCentrifugo API Key 来自配置文件,Centrifugo API address 默认为 http://localhost:8000/apiCentrifugo secretCentrifugo API Key 是<font color='red'>关键信息,不能泄露到客户端</font>。

  4. 根据客户端语言下载相应的客户端库(支持的客户端库列表)。客户端库中有连接到 Centrifugo 的方法。在连接时,客户端需要提供令牌(Token JWT)。令牌的生成应该在应用程序后端进行,然后提供给客户端,可以考虑在用户登录成功时生成令牌给客户端或者提供令牌获取服务供已登录的客户端调用。令牌的生成需要依赖 Centrifugo secret。 客户端库一般都有 setToken 方法供使用。

  5. 客户端连接到 Centrifugo 后,即可根据需要订阅相关的渠道(Channel)。所有的客户端库都提供了处理所订阅渠道(Channel)消息的方法。

  6. 以上完成后,应用程序后端则可将实时消息发布到相应的渠道(Channel)。消息的推送可以通过 Centrifugo HTTP API 来完成,官方针对不同的编程语言提供了一些 API 库(API libraries),使用这些库可以方便的发布消息到指定的渠道(Channel)。当然,你也可以根据API 描述编写自己的 API 库。发布到渠道的消息会被投递到订阅相应渠道的客户端。

  7. 为了方便在生产环境中安装 Centrifugo,官方提供了 Docker 镜像、rpm 包以及 deb 包。

  8. 详细参考资料地址


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

本文来自:简书

感谢作者:关文

查看原文:Centrifugo(二)基本使用

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

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