awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dunglas avatar

dunglas/mercure

0
View on GitHub↗
5,266 stars·339 forks·Go·AGPL-3.0·9 viewsmercure.rocks↗

Mercure

Mercure is an HTTP-based message broker and real-time pub/sub server that routes asynchronous data updates to authorized subscribers. It functions as a centralized hub that receives data via standard HTTP requests and broadcasts it to web clients using the Server-Sent Events protocol.

The project distinguishes itself by replacing WebSockets with a unidirectional HTTP connection, leveraging HTTP/2 and HTTP/3 for multiplexed, low-latency delivery. It implements a secure access control layer using JSON Web Tokens and JSON Web Signatures to validate the identity of publishers and subscribers, and supports end-to-end payload encryption via JSON Web Encryption.

The system covers high-availability clustering and horizontal scaling for event-driven architectures, including event history recovery to reconcile missed updates after client disconnections. Its operational surface includes performance monitoring, client presence tracking, and request throttling.

The hub can be deployed as a self-hosted binary, within containerized environments like Kubernetes, or through a managed provisioning service.

Features

  • Server-Sent Events - Uses a unidirectional HTTP connection and the Server-Sent Events protocol to push real-time updates to clients.
  • Real-Time Data Streaming - Pushes live server-side data updates to connected clients using Server-Sent Events to enable reactive user interfaces.
  • High Availability Clustering - Coordinates server nodes in a cluster to ensure continuous service availability and fault tolerance for real-time streams.
  • Hub Cluster Scaling - Distributes high-throughput real-time event traffic across multiple broker instances to increase capacity.
  • Secure Stream Infrastructure - Manages authorized real-time data streams using cryptographic signatures and encryption to protect sensitive updates.
  • HTTP-Based Message Brokers - Functions as a centralized hub that receives data via HTTP requests and dispatches them to subscribers.
  • URI Template Filtering - Uses URI templates and wildcards to filter incoming updates and ensure subscribers receive only requested data.
  • General-Purpose Pub/Sub Servers - Provides a scalable messaging system that routes topic-based updates from publishers to authorized subscribers.
  • Pub/Sub Publishing - Provides the primary mechanism for distributing real-time information to all connected clients using authorized HTTP requests.
  • Real-time Event Streams - Streams server-driven data updates to diverse clients using Server-Sent Events as a low-latency alternative to WebSockets.
  • Broadcasting Hubs - Functions as a messaging hub that broadcasts real-time data updates to web clients using the SSE protocol.
  • Topic-Based Pub/Sub - Implements a messaging pattern where data updates are routed to subscribers based on URI-templated topics.
  • HTTPS Topic Subscriptions - Establishes secure HTTPS connections for clients to receive updates based on defined URI templates.
  • Request Token Authorizations - Authorizes publishers and subscribers by validating signed tokens provided via headers, cookies, or query parameters.
  • JWS Token Authorization - Validates the identity of publishers and subscribers using cryptographically signed JWS tokens for stateless authorization.
  • JWT Authentication - Uses JSON Web Tokens to authenticate publishers and subscribers for secure stream access.
  • Request Authentications - Verifies the identity of clients using tokens or cookies during HTTP request transmission.
  • Access Control - Implements authorization mechanisms to restrict private data stream subscriptions to permitted clients.
  • JWT Token Validators - Validates publisher and subscriber identities using cryptographically signed JSON Web Tokens to protect data streams.
  • Token-Based Identity Verifications - Validates publishers and subscribers using JWTs with support for external identity provider key sets.
  • High-Availability Scaling - Deploys high-availability messaging clusters via Kubernetes to handle large volumes of concurrent real-time connections.
  • Event-Driven State Reconciliation - Implements mechanisms to recover missed updates after connection loss by reconciling state based on event identifiers.
  • Containerized Server Deployments - Provides a server image for isolated deployment with built-in health checks and security certificate automation.
  • Event Streamer Orchestration - Provides a containerized delivery system designed for high-availability clustering and horizontal scaling within Kubernetes.
  • Managed Hub Provisioning - Offers a hosted messaging server with managed updates and high-availability clustering to reduce operational overhead.
  • Message Broker Clustering - Distributes event traffic across multiple server instances to ensure high availability and horizontal scalability.
  • Self-Hosted Deployments - Provides a self-hosted data hub deployable via container orchestration or custom binaries with HTTPS support.
  • HTTP/3 Implementations - Supports the HTTP/3 protocol over QUIC to provide multiplexed, encrypted streams for low-latency delivery.
  • Event History Persistence - Stores and prunes historical event logs to allow clients to recover missed updates after temporary disconnections.
  • Event Recovery Mechanisms - Allows clients to retrieve missed events from a stream using a last-received sequence identifier.
  • Message - Encrypts payloads using JSON Web Encryption to prevent the hub from accessing update data.
  • Network Transmission Security - Encrypts traffic using TLS and supports end-to-end encryption via JWE and authorized topic selectors.
  • Event-Driven Architectures - Implements a reactive architecture where a centralized hub broadcasts data updates to authorized subscribers.
  • Subscription Lifecycle Monitoring - Tracks the creation and termination of active data stream subscriptions and their listeners.
  • User Presence Monitoring - Monitors and broadcasts the connection status of users to provide a real-time list of active clients.
  • HTTP/2 Transport Layers - Leverages HTTP/2 and HTTP/3 binary framing and multiplexing for efficient, low-latency data stream delivery.
  • Web Framework Integrations - Provides adapters and middleware to connect application events to real-time delivery channels within web frameworks.
  • Messaging Systems - Server and library for dispatching updates via Mercure.
  • Messaging - Listed in the “Messaging” section of the Awesome Go awesome list.
  • Messaging Systems - Server and library for real-time updates via Mercure.

Star history

Star history chart for dunglas/mercureStar history chart for dunglas/mercure

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Mercure

Similar open-source projects, ranked by how many features they share with Mercure.
  • graphql-hive/graphql-yogagraphql-hive avatar

    graphql-hive/graphql-yoga

    8,523View on GitHub↗

    Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It functions as a toolkit for managing schemas and resolvers, providing a spec-compliant environment for hosting APIs across diverse JavaScript runtimes, including Node.js, Deno, Bun, and serverless cloud environments. The project distinguishes itself through its ability to act as an Apollo Federation gateway, composing multiple subgraphs into a single unified supergraph. It also serves as a dedicated subscription server, delivering real-time data streaming via both WebSockets and Serve

    TypeScriptbundenofetch
    View on GitHub↗8,523
  • inngest/inngestinngest avatar

    inngest/inngest

    5,499View on GitHub↗

    Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer

    Go
    View on GitHub↗5,499
  • servicestack/servicestackServiceStack avatar

    ServiceStack/ServiceStack

    5,498View on GitHub↗

    ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed request and response objects. It functions as a message-based API engine that decouples business logic from the transport layer, allowing services to be exposed via multiple protocols including HTTP, gRPC, and various message queue providers. The framework is distinguished by its type-safe API generator, which produces native client SDKs and data transfer objects from service metadata across multiple languages. It also includes a distributed service gateway for microservices orchest

    C#c-sharpcsvframework
    View on GitHub↗5,498
  • centrifugal/centrifugocentrifugal avatar

    centrifugal/centrifugo

    10,404View on GitHub↗

    Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a publish-subscribe message broker, and a language-agnostic WebSocket gateway. It allows for the delivery of instant messages and data streams to concurrent users via WebSockets and Server-Sent Events. The system functions as a communication layer that separates network transport from backend business logic. It supports distributed messaging clusters using Redis for coordination of presence and message delivery across multiple server nodes. The project covers channel subscription m

    Goablyalternativeeventsource
    View on GitHub↗10,404
See all 30 alternatives to Mercure→

Frequently asked questions

What does dunglas/mercure do?

Mercure is an HTTP-based message broker and real-time pub/sub server that routes asynchronous data updates to authorized subscribers. It functions as a centralized hub that receives data via standard HTTP requests and broadcasts it to web clients using the Server-Sent Events protocol.

What are the main features of dunglas/mercure?

The main features of dunglas/mercure are: Server-Sent Events, Real-Time Data Streaming, High Availability Clustering, Hub Cluster Scaling, Secure Stream Infrastructure, HTTP-Based Message Brokers, URI Template Filtering, General-Purpose Pub/Sub Servers.

What are some open-source alternatives to dunglas/mercure?

Open-source alternatives to dunglas/mercure include: graphql-hive/graphql-yoga — Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It… inngest/inngest — Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background… servicestack/servicestack — ServiceStack is a high-performance .NET web framework designed for building type-safe APIs using strongly-typed… centrifugal/centrifugo — Centrifugo is a self-hosted real-time messaging server that provides infrastructure for scalable notifications, a… nats-io/nats.go — This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the… ag-ui-protocol/ag-ui — ag-ui is an agent-frontend interoperability layer and communication protocol designed to connect AI agent backends…