Repolode
centrifugal

centrifugal/centrifugo

可自托管、与语言无关的实时发布订阅消息服务器,通过 WebSocket、SSE 等协议向在线用户推送消息。

可替代:PusherAblyPubNub

Star
10,951
Fork
754
未关闭 Issue
25
最近提交
昨天

这是什么?

Centrifugo 是一个开源的可扩展实时消息服务器,可通过 WebSocket、HTTP-streaming、Server-Sent Events、GRPC 和 WebTransport 把消息即时推送给在线用户。它以面向用户的 PUB/SUB 方式工作:客户端订阅频道,后端通过 HTTP 或 GRPC API 向频道发布消息。

由于不依赖后端语言,Centrifugo 可以把实时推送与业务逻辑分离。官方客户端 SDK 覆盖 JavaScript、Dart/Flutter、Swift、Java、Python、Go 和 .NET;简单场景下也可以不用 SDK,直接使用对应传输协议的标准客户端。

横向扩展可基于 Redis(包括 Redis Cluster 及兼容存储)、PostgreSQL 或 NATS 实现。项目还提供频道历史消息与断线重连后的消息恢复、在线状态与加入/离开通知、JWT 或代理式认证、增量压缩、Prometheus 指标以及内置管理界面。

核心功能

  • 01支持 WebSocket、SSE、HTTP-streaming、GRPC 和 WebTransport(实验性)等传输方式。
  • 02可基于 Redis、Redis Cluster、PostgreSQL 或 NATS 实现横向扩展。
  • 03通过简单的 HTTP 或 GRPC 服务端 API 向频道发布消息。
  • 04支持频道历史消息,断线重连后自动恢复。
  • 05提供频道在线状态以及加入/离开通知。
  • 06支持 JWT 和代理式连接认证。
  • 07暴露 Prometheus 指标,并内置管理后台界面。

适用场景

  • 在 Web 或移动应用中实现聊天和即时通讯功能。
  • 向浏览器推送实时评论、通知或数据更新。
  • 将 AI 模型的流式回复实时传送给用户。
  • 为需要低延迟同步的多人游戏或协作工具提供实时通道。

快速上手

  1. 1

    使用 Docker 运行 Centrifugo 及其内置管理界面

    docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure
  2. 2

    打开 http://localhost:8000 访问管理界面

  3. 3

    参阅安装说明,获取原生二进制、Homebrew、软件包及生产环境配置

使用前须知

  • 快速开始使用的不安全参数会移除身份验证,切勿用于生产环境。
  • WebTransport 支持尚处于实验阶段。

收录于专题

标签

常见问题

centrifugo 是什么?
可自托管、与语言无关的实时发布订阅消息服务器,通过 WebSocket、SSE 等协议向在线用户推送消息。 Centrifugo 是一个开源的可扩展实时消息服务器,可通过 WebSocket、HTTP-streaming、Server-Sent Events、GRPC 和 WebTransport 把消息即时推送给在线用户。它以面向用户的 PUB/SUB 方式工作:客户端订阅频道,后端通过 HTTP 或 GRPC API 向频道发布消息。
centrifugo 可以免费使用吗?用的什么许可证?
centrifugo 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
centrifugo 还在维护吗?
活跃维护中。centrifugo 最近一次提交是在 2026年11月6日。
centrifugo 适合用来做什么?
在 Web 或移动应用中实现聊天和即时通讯功能。 向浏览器推送实时评论、通知或数据更新。 将 AI 模型的流式回复实时传送给用户。 为需要低延迟同步的多人游戏或协作工具提供实时通道。
centrifugo 怎么安装和运行?
使用 Docker 运行 Centrifugo 及其内置管理界面: docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure 打开 http://localhost:8000 访问管理界面 参阅安装说明,获取原生二进制、Homebrew、软件包及生产环境配置
在哪里获取 centrifugo?
源代码和安装说明在 GitHub 上:https://github.com/centrifugal/centrifugo

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目