Repolode
dunglas

dunglas/mercure

一个用于向浏览器和 HTTP 客户端实时推送数据更新的协议及 Go 参考服务端。

可替代:Pusher

Star
5,359
Fork
348
未关闭 Issue
17
最近提交
3天前

这是什么?

Mercure 是一种协议,用于以简便、快速、可靠且省电的方式向浏览器和其他 HTTP 客户端推送数据更新。它主要适用于将 Web API 中资源的异步和实时变化推送给响应式 Web 和移动应用。

本仓库包含协议规范,以及一个用 Go 编写的生产级参考 Hub(服务端)。Hub 基于 AGPL 协议免费提供,并提供官方 Docker 镜像。仓库还附带一个 Go 库,任何 Go 应用都可以不依赖独立 Hub,直接实现该协议。

协议同时以 Internet-Draft 形式发布,其他实现可以与遵循该协议的客户端互操作。

核心功能

  • 01基于 Server-Sent Events 向浏览器和 HTTP 客户端推送更新。
  • 02提供用 Go 编写的参考 Hub,并附带官方 Docker 镜像。
  • 03提供 Go 库,可将协议直接集成到应用中。
  • 04协议规范以 Internet-Draft 形式公开发布。

适用场景

  • 后端 API 资源变化时,实时刷新 Web 仪表盘。
  • 向响应式 Web 和移动应用推送异步任务进度或通知。
  • 在 Go 服务中直接集成实时推送,无需单独部署 Hub。

快速上手

  1. 1

    阅读 mercure.rocks 上的入门指南

  2. 2

    使用 Docker Hub 上的官方镜像(dunglas/mercure)

使用前须知

  • 该服务端采用 AGPL 许可证,这是一种 Copyleft 许可证,可能会限制其在专有产品中的使用方式。

收录于专题

标签

#realtime#server-sent-events#push#golang#streaming-api#web-api#api#async-api#caddy#graphql

常见问题

mercure 是什么?
一个用于向浏览器和 HTTP 客户端实时推送数据更新的协议及 Go 参考服务端。 Mercure 是一种协议,用于以简便、快速、可靠且省电的方式向浏览器和其他 HTTP 客户端推送数据更新。它主要适用于将 Web API 中资源的异步和实时变化推送给响应式 Web 和移动应用。
mercure 可以免费使用吗?用的什么许可证?
mercure 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
mercure 还在维护吗?
活跃维护中。mercure 最近一次提交是在 2026年11月4日。
mercure 适合用来做什么?
后端 API 资源变化时,实时刷新 Web 仪表盘。 向响应式 Web 和移动应用推送异步任务进度或通知。 在 Go 服务中直接集成实时推送,无需单独部署 Hub。
mercure 怎么安装和运行?
阅读 mercure.rocks 上的入门指南 使用 Docker Hub 上的官方镜像(dunglas/mercure)
在哪里获取 mercure?
源代码和安装说明在 GitHub 上:https://github.com/dunglas/mercure

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

相关项目