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
polyfillconnection-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)