Centrifugo

实时消息通信平台
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 服务框架/平台
软件类型 开源软件
地区 不详
投 递 者 孔棋
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Centrifugo 是一个用 Golang 实现的基于 Websocket 或者 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

通讯模型:

Centrifugo 包含如下子项目:

  • centrifugo - 采用 Go 语言开发的实时消息传递服务器

  • centrifuge-js - Javascript 客户端,可直接在浏览器使用

  • centrifuge-android - Android 的客户端开发包,可通过 WebSockets 与服务器通讯

  • centrifuge-ios - Swift 开发包

  • centrifuge-go - Go 客户端开发包

  • cent - Python 开发包

  • adjacent - Cent 的小型封装包,简化了与 Django 框架的集成

  • rubycent - Ruby gem to communicate  with Centrifugo server API.

  • phpcent - PHP client to communicate  with Centrifugo server API.

  • gocent - Go client to communicate  with Centrifugo server API.

  • jscent - NodeJS client to communicate  with Centrifugo server API.

  • web - Centrifugo 的管理界面,基于 ReactJS 开发

  • 关于消息推送服务器 目前有很多第三方的开放成熟的推送服务。鉴于项目需要 我们项目需要自己搭建 自己的推送服务。 我们的推送应用场景 聊天消息 项目内部消息提醒 移动设备接受消息 应用到的相关软件工具知识点 redis 数据库 用于 centrifugo 启用分布式 集群做数据支撑(如果单节点 可以不用数据库 默认以内存作为缓存) docker rancher 编排工具 redis 集群 mkdir

  • 一、参考资料 Centrifugo教程 - 文集 - 简书

  • Install Centrifugo and quick start Go is a perfect language - it gives developers an opportunity to have single binary executable file for application and cross-compile application on all target opera

  • 该库定义了必须通过各种传输(Websocket、SockJS)发送的自定义协议和消息类型。服务器客户端在内部使用该协议,并为特性提供简单的API——建立持久连接、订阅通道、调用RPC命令等等。 ./centrifugo genconfig生成配置文件 config.json ./centrifugo genconfig -c config.yaml ./centrifugo checkconfig

 相关资料
  • Cocos Creator 3D 内,所有的交互都是通过 消息系统。 而消息也需要在 "contributions" 里定义后才能使用。 查看已有功能的公开消息 编辑器在顶部菜单 "开发者" - "消息列表" 里,预置了一个消息管理面板,面板里可以显示每个功能定义的公开消息及其说明。 定义一条消息 { "name": "hello-world", "contributions":

  • 本文向大家介绍微信公众平台消息接口校验与消息接口响应实例,包括了微信公众平台消息接口校验与消息接口响应实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了微信公众平台消息接口校验与消息接口响应的方法。分享给大家供大家参考。具体分析如下: 开发微信公众平台消息接口过程中,我们首先需要验证消息接口的有效性,验证通过后,才可以进行其他开发,首先我们来看一下微信公众平台给我的 PHP SDK. 1

  • 我有一个小任务,设计2个应用程序应用程序1:从用户上传的网络界面文件。此外,用户进行输入,如图书1或图书2等。Iv设法将一个RestController放在一个Spring boot应用程序中,该应用程序接受输入和文件。Iv还设法组装了application2:它处理该文件(将其转换为json文件)并将其发送回用户可以下载的application1(它也是一个像application1一样用jav

  • 本文向大家介绍PHP的消息通信机制测试实例,包括了PHP的消息通信机制测试实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP的消息通信机制。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《php socket用法总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技

  • 一、简介 查看和管理系统用户通信信息。 二、功能演示 1.查看和管理通信信息 查看通信信息,选择不需要的通信信息进行删除。如下图:

  • 本文向大家介绍微信公众号开发之微信公共平台消息回复类实例,包括了微信公众号开发之微信公共平台消息回复类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了微信公众号开发之微信公共平台消息回复类。分享给大家供大家参考。具体如下: 微信公众号开发代码我在网上看到了有不少,其实都是大同小义了都是参考官方给出的demo文件进行修改的,这里就给各位分享一个。 希望本文所述对大家基于PHP的微信公众号