Repolode
centrifugal

centrifugal/centrifugo

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.

Alternativa open source a:PusherAblyPubNub

Estrelas
10,948
Forks
753
Issues abertas
25
Último commit
anteontem

O que é?

Centrifugo é um servidor de mensagens em tempo real e de código aberto que entrega mensagens instantaneamente aos usuários conectados por WebSocket, HTTP-streaming, Server-Sent Events, GRPC e WebTransport. Ele funciona como um servidor PUB/SUB voltado aos usuários: os clientes assinam canais, e o backend da aplicação publica mensagens neles por meio de uma API HTTP ou GRPC simples.

Como o Centrifugo é independente da linguagem do backend, ele separa a entrega em tempo real da lógica de negócios. Há SDKs oficiais para JavaScript, Dart/Flutter, Swift, Java, Python, Go e .NET. Em casos simples, é possível usar qualquer cliente padrão compatível com o transporte escolhido, sem SDK.

O escalonamento é feito com Redis (incluindo Redis Cluster e armazenamentos compatíveis), PostgreSQL ou NATS. O projeto também oferece histórico de canais com recuperação de mensagens após a reconexão, presença com eventos de entrada e saída, autenticação via JWT ou proxy, compressão delta, métricas do Prometheus e uma interface web de administração integrada.

Recursos principais

  • 01Entrega mensagens por WebSocket, SSE, HTTP-streaming, GRPC e WebTransport (experimental).
  • 02Escala usando Redis, Redis Cluster, PostgreSQL ou NATS como broker.
  • 03Publica mensagens em canais por meio de uma API de servidor HTTP ou GRPC simples.
  • 04Oferece histórico de canais com recuperação automática após a reconexão.
  • 05Disponibiliza presença online e notificações de entrada e saída por canal.
  • 06Oferece autenticação de conexão via JWT ou proxy.
  • 07Expõe métricas do Prometheus e inclui uma interface web de administração integrada.

Casos de uso

  • Implementar recursos de chat ou mensagens em um aplicativo web ou mobile.
  • Enviar comentários, notificações ou atualizações de dados em tempo real para navegadores.
  • Transmitir respostas de modelos de IA aos usuários em tempo real.
  • Desenvolver jogos multiplayer ou ferramentas colaborativas que precisam de sincronização com baixa latência.

Início rápido

  1. 1

    Execute o Centrifugo com a interface de administração integrada usando Docker

    docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure
  2. 2

    Acesse http://localhost:8000 para abrir a interface de administração

  3. 3

    Siga as instruções de instalação para binários nativos, Homebrew, pacotes e configuração de produção

Antes de usar

  • O início rápido usa opções inseguras que desativam a autenticação; elas não devem ser usadas em produção.
  • O suporte a WebTransport é experimental.

Em coleções

Tópicos

Perguntas frequentes

O que é centrifugo?
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. Centrifugo é um servidor de mensagens em tempo real e de código aberto que entrega mensagens instantaneamente aos usuários conectados por WebSocket, HTTP-streaming, Server-Sent Events, GRPC e WebTransport. Ele funciona como um servidor PUB/SUB voltado aos usuários: os clientes assinam canais, e o backend da aplicação publica mensagens neles por meio de uma API HTTP ou GRPC simples.
centrifugo é gratuito? Qual é a licença?
centrifugo é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
centrifugo ainda é mantido?
Manutenção ativa. O último commit de centrifugo foi em 4 de nov. de 2026.
Para que posso usar centrifugo?
Implementar recursos de chat ou mensagens em um aplicativo web ou mobile. Enviar comentários, notificações ou atualizações de dados em tempo real para navegadores. Transmitir respostas de modelos de IA aos usuários em tempo real. Desenvolver jogos multiplayer ou ferramentas colaborativas que precisam de sincronização com baixa latência.
Como instalar centrifugo?
Execute o Centrifugo com a interface de administração integrada usando Docker: docker run -it --rm -p 8000:8000 centrifugo/centrifugo:latest centrifugo --client.insecure --admin.enabled --admin.insecure Acesse http://localhost:8000 para abrir a interface de administração Siga as instruções de instalação para binários nativos, Homebrew, pacotes e configuração de produção
Onde consigo centrifugo?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/centrifugal/centrifugo

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados