Mercure.rocksSponsored by Les-Tilleuls.coop
Contribute!

Mercure in a Few Words

The Mercure protocol:

  • native browser support, no lib nor SDK required (built on top of HTTP and server-sent events)

  • compatible with all existing servers, even those who don't support persistent connections (serverless architecture, PHP, FastCGI...)

  • built-in connection re-establishment and state reconciliation

  • JWT-based authorization mechanism (securely dispatch an update to some selected subscribers)

  • performant, leverages HTTP/2 multiplexing

  • designed with hypermedia in mind, also supports GraphQL

  • auto-discoverable through web linking

  • message encryption support

  • can work with old browsers (IE7+) using an EventSource polyfill

  • connection-less push in controlled environments (e.g. browsers on mobile handsets tied to specific carriers)

The Mercure.rocks hub implementation:

  • Fast, written in Go

  • Works everywhere: static binaries and Docker images available

  • Automatic HTTP/2 and HTTPS (using Let's Encrypt) support

  • CORS support, CSRF protection mechanism

  • Cloud Native, follows the Twelve-Factor App methodology

  • Open source (AGPL)