Centrifugo(一)简介

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题导读: 1.如何构建高并发电商平台架构 2.哈希、B树、倒排、bitmap的作用是什么? 3.作为软件工程师,...
    MaLiang阅读 5,163评论 1 70
  • 高并发平台架构 设计理念 1. 空间换时间 多级缓存,静态化前端页面缓存(HTTP Header中包含Expire...
    AkaTBS阅读 3,052评论 0 13
  • 网络编程 1. 概论 建立连接:通过IP或者域名来连接两台设备,通过端口号找到对应的通信程序 通信协议:要传输的数...
    陵无山阅读 7,358评论 0 12
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,768评论 0 3
  • 应用场景 websocket 是 Html5 新增加特性之一,目的是浏览器与服务端建立全双工的通信方式,解决 ht...
    Wang_Coder阅读 30,492评论 2 55