Servidor open source em tempo real que adiciona comunicação bidirecional confiável via WebSocket e SSE a backends existentes.
dunglas/mercure
Protocolo e hub de referência em Go para enviar atualizações de dados em tempo real a navegadores e clientes HTTP via Server-Sent Events.
Alternativa open source a:Pusher
- Estrelas
- 5,358
- Forks
- 348
- Issues abertas
- 17
- Último commit
- anteontem
O que é?
Mercure é um protocolo para enviar atualizações de dados a navegadores e outros clientes HTTP. Ele foi criado para publicar atualizações assíncronas e em tempo real de recursos disponibilizados por APIs web para aplicativos web e mobile reativos.
Este repositório contém a especificação do protocolo e um hub de referência pronto para produção, escrito em Go, que atua como servidor. O hub é distribuído como um programa gratuito sob licença AGPL, com uma imagem oficial do Docker, e inclui uma biblioteca Go que permite a qualquer aplicação Go implementar o protocolo diretamente, sem executar um hub separado. Uma versão gerenciada e altamente escalável do hub é oferecida como serviço hospedado.
O protocolo também é publicado como um Internet-Draft, permitindo que outras implementações interoperem com clientes compatíveis.
Recursos principais
- 01Envia atualizações a navegadores e clientes HTTP via Server-Sent Events.
- 02Inclui um hub de referência escrito em Go, com uma imagem oficial do Docker.
- 03Oferece uma biblioteca Go para incorporar o protocolo diretamente em uma aplicação.
- 04Publica a especificação do protocolo como um Internet-Draft.
Casos de uso
- Atualizar um dashboard web em tempo real quando os recursos de uma API do backend mudam.
- Enviar o progresso de tarefas assíncronas ou notificações a aplicativos web e mobile reativos.
- Incorporar envio de atualizações em tempo real diretamente a um serviço Go, sem um hub separado.
Início rápido
- 1
Leia o guia de introdução em mercure.rocks
- 2
Use a imagem oficial do Docker no Docker Hub (dunglas/mercure)
Antes de usar
- O hub é licenciado sob a AGPL, uma licença copyleft que pode restringir o uso em produtos proprietários.
Em coleções
Tópicos
Perguntas frequentes
- O que é mercure?
- Protocolo e hub de referência em Go para enviar atualizações de dados em tempo real a navegadores e clientes HTTP via Server-Sent Events. Mercure é um protocolo para enviar atualizações de dados a navegadores e outros clientes HTTP. Ele foi criado para publicar atualizações assíncronas e em tempo real de recursos disponibilizados por APIs web para aplicativos web e mobile reativos.
- mercure é gratuito? Qual é a licença?
- mercure é open source sob a licença AGPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mercure ainda é mantido?
- Manutenção ativa. O último commit de mercure foi em 4 de nov. de 2026.
- Para que posso usar mercure?
- Atualizar um dashboard web em tempo real quando os recursos de uma API do backend mudam. Enviar o progresso de tarefas assíncronas ou notificações a aplicativos web e mobile reativos. Incorporar envio de atualizações em tempo real diretamente a um serviço Go, sem um hub separado.
- Como instalar mercure?
- Leia o guia de introdução em mercure.rocks Use a imagem oficial do Docker no Docker Hub (dunglas/mercure)
- Onde consigo mercure?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dunglas/mercure
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework JavaScript para criar APIs web com segurança de tipos, gerar especificações OpenAPI a partir de comentários JSDoc e transmitir respostas de LLM via SSE.
Servidor PUB/SUB de mensagens em tempo real, auto-hospedado e independente de linguagem, que envia mensagens aos usuários por WebSocket, SSE, HTTP-streaming, GRPC e WebTransport.
Um servidor de aplicações Go auto-hospedado que transforma um schema em endpoints JSON:API, GraphQL, realtime, de arquivos, automação e integração com controle de permissões.
Studio headless de CMS open source baseado em React para configurar espaços de trabalho de conteúdo estruturado, com dados armazenados no Content Lake hospedado.
Biblioteca Go que gera código tipado para servidores GraphQL a partir de uma definição GraphQL orientada por schema.