https://github.com/dunglas/mercure
🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
https://github.com/dunglas/mercure
api async-api golang graphql hacktoberfest hypermedia mercure push realtime realtime-api server-sent-events streaming-api subscriptions web-api websocket
Last synced: 5 months ago
JSON representation
🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
- Host: GitHub
- URL: https://github.com/dunglas/mercure
- Owner: dunglas
- License: agpl-3.0
- Created: 2018-07-14T13:47:14.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T14:30:29.000Z (5 months ago)
- Last Synced: 2025-05-11T03:15:26.074Z (5 months ago)
- Topics: api, async-api, golang, graphql, hacktoberfest, hypermedia, mercure, push, realtime, realtime-api, server-sent-events, streaming-api, subscriptions, web-api, websocket
- Language: Go
- Homepage: https://mercure.rocks
- Size: 8.06 MB
- Stars: 4,917
- Watchers: 63
- Forks: 331
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). (Messaging / Search and Analytic Databases)
- zero-alloc-awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). (Messaging / Search and Analytic Databases)
- awesome-go - mercure - Server-sent live updates: protocol and reference implementation - ★ 359 (Messaging)
- awesome-go-extra - mercure - efficient solution for real-time communications|2981|231|13|2018-07-14T13:47:14Z|2022-08-12T22:14:57Z| (Messaging / Advanced Console UIs)
- awesome-go-zh - Mercure
- awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). Stars:`5.1K`. (Messaging / Search and Analytic Databases)
- awesome-go - dunglas/mercure - efficient solution for real-time communications ☆`5,065` (Messaging / Search and Analytic Databases)
- StarryDivineSky - dunglas/mercure - Sent Events (SSE)协议,允许服务器将更新推送到客户端,无需客户端不断轮询。Mercure通过中心化的Hub进行消息传递,支持多种传输协议,包括HTTP/2和HTTP/3。它与现有的HTTP基础设施兼容,易于集成到现有的Web应用程序中。该项目旨在提供高效的实时数据流,适用于聊天、股票行情、实时分析等场景。Mercure支持发布-订阅模式,允许客户端订阅特定的主题并接收相关更新。它提供了一个简单易用的API,方便开发者快速构建实时应用。此外,Mercure还具有良好的可扩展性和安全性,可以满足各种规模的应用需求。它鼓励使用标准协议,避免供应商锁定,并提供强大的身份验证和授权机制。 (网络信息服务 / 信息沟通)
- awesome-ccamel - dunglas/mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications (Go)
- awesome-go - dunglas/mercure - efficient solution for real-time communications ☆`4,969` (Messaging / Search and Analytic Databases)
README
_Protocol and Reference Implementation_
Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a convenient, fast, reliable, and battery-efficient way.
It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.[](docs/ecosystem/awesome.md)
[](https://artifacthub.io/packages/search?repo=mercure)
[](https://pkg.go.dev/github.com/dunglas/mercure)
[](https://github.com/dunglas/mercure/actions/workflows/ci.yml)
[](https://coveralls.io/github/dunglas/mercure?branch=master)
[](https://goreportcard.com/report/github.com/dunglas/mercure)
- [Getting started](https://mercure.rocks/docs/getting-started)
- [Full documentation](https://mercure.rocks/docs)
- [Demo](https://demo.mercure.rocks/)[The protocol](https://mercure.rocks/spec) is maintained in this repository and is also available as [an Internet-Draft](https://datatracker.ietf.org/doc/draft-dunglas-mercure/).
A reference, production-grade, implementation of [**a Mercure hub**](https://mercure.rocks/docs/hub/install) (the server) is also available in this repository.
It's free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and [an official Docker image](https://hub.docker.com/r/dunglas/mercure).In addition, a managed and high-scalability version of the Mercure.rocks hub is [available on Mercure.rocks](https://mercure.rocks/pricing).
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
## License and Copyright
See [license information](https://mercure.rocks/docs/hub/license).
## Credits
Created by [Kévin Dunglas](https://dunglas.fr). Graphic design by [Laury Sorriaux](https://github.com/ginifizz).
Sponsored by [Les-Tilleuls.coop](https://les-tilleuls.coop).