Repolode
dunglas

dunglas/mercure

Протокол и эталонный хаб на Go для доставки обновлений в реальном времени браузерам и HTTP-клиентам через Server-Sent Events.

Open source альтернатива:Pusher

Звёзды
5,358
Форки
348
Открытые issues
17
Последний коммит
3 дня назад

Что это?

Mercure — это протокол для доставки обновлений данных веб-браузерам и другим HTTP-клиентам. Он предназначен для публикации асинхронных обновлений ресурсов, предоставляемых через веб-API, в том числе в реальном времени, для реактивных веб- и мобильных приложений.

В этом репозитории находятся спецификация протокола и готовый к промышленному использованию эталонный хаб на Go, который выполняет роль сервера. Хаб распространяется как бесплатная программа под лицензией AGPL и доступен в официальном образе Docker. В комплект также входит библиотека Go, позволяющая любому приложению на Go реализовать протокол напрямую, без отдельного хаба. Управляемая версия хаба с высокой масштабируемостью предлагается как хостинговый сервис.

Протокол также опубликован как Internet-Draft, чтобы другие реализации могли взаимодействовать с клиентами, поддерживающими его.

Ключевые возможности

  • 01Отправляет обновления браузерам и HTTP-клиентам через Server-Sent Events.
  • 02В комплект входит эталонный хаб на Go с официальным образом Docker.
  • 03Предоставляет библиотеку Go для непосредственного встраивания протокола в приложение.
  • 04Публикует спецификацию протокола в формате Internet-Draft.

Сценарии использования

  • Обновление веб-панели в реальном времени при изменении ресурсов бэкенд-API.
  • Передача прогресса асинхронных задач или уведомлений в реактивные веб- и мобильные приложения.
  • Встраивание отправки обновлений в реальном времени непосредственно в Go-сервис без отдельного хаба.

Быстрый старт

  1. 1

    Прочитайте руководство для начала работы на mercure.rocks

  2. 2

    Используйте официальный Docker-образ из Docker Hub (dunglas/mercure)

Что важно знать

  • Hub распространяется по лицензии AGPL — лицензии с авторским левом, которая может ограничивать его использование в проприетарных продуктах.

В подборках

Темы

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

Частые вопросы

Что такое mercure?
Протокол и эталонный хаб на Go для доставки обновлений в реальном времени браузерам и HTTP-клиентам через Server-Sent Events. Mercure — это протокол для доставки обновлений данных веб-браузерам и другим HTTP-клиентам. Он предназначен для публикации асинхронных обновлений ресурсов, предоставляемых через веб-API, в том числе в реальном времени, для реактивных веб- и мобильных приложений.
mercure можно использовать бесплатно? Какая у него лицензия?
mercure распространяется с открытым исходным кодом под лицензией AGPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
mercure всё ещё поддерживается?
Активно поддерживается. Последний коммит в mercure — 4 нояб. 2026 г..
Для чего можно использовать mercure?
Обновление веб-панели в реальном времени при изменении ресурсов бэкенд-API. Передача прогресса асинхронных задач или уведомлений в реактивные веб- и мобильные приложения. Встраивание отправки обновлений в реальном времени непосредственно в Go-сервис без отдельного хаба.
Как установить mercure?
Прочитайте руководство для начала работы на mercure.rocks Используйте официальный Docker-образ из Docker Hub (dunglas/mercure)
Где скачать mercure?
Исходный код и инструкции по установке — на GitHub: https://github.com/dunglas/mercure

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Независимый от языка self-hosted сервер обмена сообщениями PUB/SUB в реальном времени, который отправляет их пользователям через WebSocket, SSE, HTTP-streaming, GRPC и WebTransport.

11 тыс.+14 за неделю754GoApache-2.0Активно поддерживаетсяОбновлён 6 часов назад

Автономно разворачиваемый сервер приложений на Go, который преобразует схему в JSON:API, GraphQL, realtime, файловые, автоматизационные и интеграционные эндпоинты с учетом прав доступа.

1,9 тыс.122GoLGPL-3.0Обновлён 6 дней назад