Long Polling vence WebSockets: Um guia prático para sistemas em tempo real escaláveis

2025-01-05

A equipe da Inferable escolheu long polling HTTP em vez de WebSockets ao construir um sistema em tempo real escalável usando Node.js e TypeScript. Enfrentando os desafios de centenas de nós de trabalho precisando de atualizações de trabalho em tempo real e agentes exigindo sincronização de estado em tempo real, eles descobriram que o long polling era surpreendentemente eficaz. Mantendo as conexões HTTP abertas até que novos dados cheguem ou um tempo limite seja atingido, eles evitaram as complexidades dos WebSockets, como autenticação, observabilidade e compatibilidade de infraestrutura. O artigo detalha sua implementação, incluindo otimização do banco de dados, tratamento de erros e melhores práticas, como TTL obrigatório, TTL configurável pelo cliente e intervalos de pesquisa de banco de dados sensatos. A escolha decorreu da necessidade de controle central do produto sobre o mecanismo de entrega de mensagens, zero dependências externas e facilidade de compreensão e modificação. Alternativas como ElectricSQL são brevemente discutidas, destacando cenários em que WebSockets podem ser preferíveis.

Desenvolvimento sistemas em tempo real