IM推送服务端:Centrifugo

Centrifugo :golang开发的即时推送服务。

文档:https://fzambia.gitbooks.io/centrifugal/content/index.html

(ps:比较大的图片需要拖拽到独立的页签打开)

复制点oschina以前发的介绍:

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

看完介绍感觉挺不错,就部署试用体验下,部署安装很简单,比如Windows下是打包好的可执行程序,默认运行一个程序是单节点。文档推荐单节点并发链接数量不超过50k-100k.

web管理页面:

IM推送服务端:Centrifugo

推送历史记录:

IM推送服务端:Centrifugo
在线接口测试:类似融云等的在线接口测试

IM推送服务端:Centrifugo

客户端:

IM推送服务端:Centrifugo

只需要编辑客户端代码即可。客户端代码完整见:

https://gitee.com/dwxdfhx/java_spiderPro/blob/master/favorites/src/main/resources/templates/msg2.ftl

 

 

转载于:https://my.oschina.net/makelife/blog/1794770