centrifugo:语言无关的可扩展的实时消息传递服务器,golang实现

Centrifugo是一个开源可扩展的实时消息传递服务器。Centrifugo可以立即向通过支持的传输(WebSocket,HTTP-streaming,SSE / EventSource,GRPC,SockJS,WebTransport)连接的应用程序在线用户发送消息。Centrifugo具有频道订阅的概念 - 因此它是一个面向用户的PUB / SUB服务器。

Centrifugo 与语言无关,可用于构建聊天应用程序、实时评论、多人游戏、实时数据可视化、协作工具等。与任何后端结合使用。它非常适合现代架构,并允许将业务逻辑与实时传输层分离。

几个用于浏览器和移动开发的官方客户端 SDK 包装了双向协议。此外,Centrifugo 支持单向方法,适用于没有 SDK 依赖性的简单用例。

文档

加入社区

为什么选择Centrifugo

Centrifugo 的核心思想很简单——它是基于现代实时传输的 PUB/SUB 服务器:

实现PUB/SUB 服务器的困难的部分是使这个概念生产就绪、高效、灵活,并且可以在不同的应用程序环境中使用。Centrifugo 是一个成熟的解决方案,已经帮助许多项目添加实时功能并扩展到许多并发连接。Centrifugo提供了该领域其他开源解决方案所不具备的一组功能:

  • 实时传输:WebSocket,HTTP-streaming,Server-Sent Events (SSE),GRPC,SockJS,WebTransport
  • 内置可扩展性,可与Redis,KeyDB,Nats,Tarantool的许多机器
  • 简单的HTTP和GRPC服务器API,用于从应用程序后端与Centrifugo进行通信
  • 灵活的连接身份验证机制:JWT 和类似代理
  • 通过单个连接进行通道订阅多路复用
  • 不同类型的订阅:客户端和服务器端
  • 各种通道权限策略,通道命名空间概念
  • 频道中的热消息历史记录,重新连接时自动恢复消息
  • 在线频道状态信息,包括加入/离开通知
  • 一种通过实时连接向后端发送 RPC 调用的方法
  • 由多个官方SDK包装的严格有效的客户端协议
  • JSON 和二进制 Protobuf 消息传输,具有优化的序列化
  • 漂亮的嵌入式管理网页用户界面
  • 还有更多内容,请访问Centrifugo文档网站
版权声明:本文《centrifugo:语言无关的可扩展的实时消息传递服务器,golang实现》为「linux名库」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。联系方式osschina@qq.com
 
Leave a Reply 0

Your email address will not be published. Required fields are marked *


加好友请备注:linuxlibs
您可以在微信公众号联系我们
您可以通过邮件联系我们
我们将24小时内回复。
取消