Repolode
dunglas

dunglas/mercure

ブラウザやHTTPクライアントへServer-Sent Eventsでリアルタイムにデータを配信するためのプロトコルと、Go製のリファレンスハブです。

代替できる製品:Pusher

スター
5,358
フォーク
348
未解決の Issue
17
最終コミット
一昨日

これは何?

Mercureは、ウェブブラウザやその他のHTTPクライアントにデータ更新をプッシュ配信するためのプロトコルです。Web APIで提供されるリソースの非同期・リアルタイムな更新を、リアクティブなWebアプリやモバイルアプリに届けることを目的としています。

このリポジトリには、プロトコルの仕様と、Goで書かれた本番環境向けのリファレンスハブ(サーバー)が含まれています。ハブはAGPLライセンスの無償プログラムとして配布されており、公式のDockerイメージも用意されています。また、Goのライブラリも同梱されているため、別途ハブを動かさなくても、Goアプリケーションがプロトコルを直接実装できます。大規模なトラフィックに対応する管理型のハブも、ホステッドサービスとして提供されています。

このプロトコルはInternet-Draftとしても公開されているため、他の実装でも、このプロトコルを話すクライアントと相互運用できます。

主な機能

  • 01Server-Sent Eventsを使って、ブラウザやHTTPクライアントに更新を配信します。
  • 02Goで書かれたリファレンスハブを提供し、公式のDockerイメージも用意しています。
  • 03アプリケーションにプロトコルを直接組み込めるGoライブラリを提供します。
  • 04プロトコル仕様をInternet-Draftとして公開しています。

ユースケース

  • バックエンドのAPIリソースが変更されたときに、Webダッシュボードをリアルタイムで更新する。
  • 非同期ジョブの進捗や通知を、リアクティブなWebアプリやモバイルアプリに送信する。
  • 別のハブを用意せず、Goのサービスにリアルタイムプッシュ機能を直接組み込む。

クイックスタート

  1. 1

    mercure.rocks のスタートガイドを読む

  2. 2

    Docker Hub の公式 Docker イメージ(dunglas/mercure)を使用する

使う前に知っておきたいこと

  • Hub はコピーレフトライセンスである AGPL の下でライセンスされており、プロプライエタリ製品での使用が制限される場合があります。

収録されている特集

トピック

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

よくある質問

mercure とは?
ブラウザやHTTPクライアントへServer-Sent Eventsでリアルタイムにデータを配信するためのプロトコルと、Go製のリファレンスハブです。 Mercureは、ウェブブラウザやその他のHTTPクライアントにデータ更新をプッシュ配信するためのプロトコルです。Web APIで提供されるリソースの非同期・リアルタイムな更新を、リアクティブなWebアプリやモバイルアプリに届けることを目的としています。
mercure は無料で使えますか?ライセンスは?
mercure は AGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mercure は今もメンテナンスされていますか?
活発にメンテナンス中。mercure の最終コミットは 2026年11月4日 です。
mercure は何に使えますか?
バックエンドのAPIリソースが変更されたときに、Webダッシュボードをリアルタイムで更新する。 非同期ジョブの進捗や通知を、リアクティブなWebアプリやモバイルアプリに送信する。 別のハブを用意せず、Goのサービスにリアルタイムプッシュ機能を直接組み込む。
mercure のインストール方法は?
mercure.rocks のスタートガイドを読む Docker Hub の公式 Docker イメージ(dunglas/mercure)を使用する
mercure はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dunglas/mercure

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト