Arquitetura de software · Comunicação · 5 min de leitura
Tempo real: polling, SSE ou WebSockets
Três formas de o servidor avisar o cliente sobre novidades — de perguntar de tempos em tempos a manter um canal aberto nos dois sentidos.
Arraste para o lado para ver o diagrama inteiro.
As opções
- Polling: o cliente pergunta a cada poucos segundos. Simples e funciona em qualquer lugar; desperdiça requisições e tem atraso.
- Server-Sent Events (SSE): uma conexão HTTP longa por onde o servidor envia eventos. Só servidor → cliente, reconexão automática no navegador. Ótimo para notificações e para transmitir respostas de IA token a token.
- WebSockets: canal permanente nos dois sentidos, para chat, jogos e colaboração.
Na hora de escalar
Conexões longas ocupam recursos e não combinam com servidores que reiniciam sem aviso. Use um serviço de mensagens (pub/sub) para que qualquer instância possa entregar o evento ao cliente conectado nela, e trate reconexões.
Em resumo
- Polling: simples, com atraso e desperdício.
- SSE: servidor → cliente, bom para streaming.
- WebSocket: bidirecional, para chat e jogos.
- Conexões longas pedem pub/sub e reconexão.