Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Web Sockets Nodejs

Olá,

Estou começando a estudar mais sobre infra e também websockets. Qual seria o peso de manter uma conexão com websocket para o servidor?

Aproveitando o post, na aula de nodejs, o professor cita as requisições com interval, pensando nisso, para o servidor web como funciona o processo? Como posso descobrir o limite de requisições que meu servidor web irá suportar?

Obrigado!

3 respostas
solução!

Websockets pesam bem menos que pingar o servidor com vários requests de tempos em tempos. O custo de novos requests HTTP em certo intervalo é bem maior que de manter as conexões dos websockets ativa.

Agora quanto vai aguentar depende muito da sua infra mesmo. Existe alguns cases por aí. Por exemplo, esse cara pendurou 600k websockets num Node.js na amazon com 4 cores e 16GB de RAM.

Mas isso exige algumas configurações e tunnings mais avançados. Por padrão por exemplo, só 1024 sockets podem ser abertas no Linux. Vc vai precisar aumentar isso.

O node tbm, por ser single threaded, pode ser o gargalo (mas depende do quão pesadas são as operações que vc vai executar no backend). No post acima o cara recomenda algumas configs pra um Node de alta escalabilidade.

Oi Heiji, tudo bem?

O problema de vc ficar pingando o servidor é que vc gasta recurso do mesmo sem necessariamente ter algo para executar. Pensando no cenário do curso, imagina vc ficar fazendo request para ver se tem promoção e só depois de 100 o servidor realmente retornar algo..

O websocket mantém apenas e só por isso já é muito menor :). Sem contar que ele usa o http apenas para começar a comunicação, depois o protocolo já muda, ou seja ele é otimizado para comunicações mais longas. Outro ponto importante é que essa requisição websocket não vai ficar concorrendo com as requisições comuns dos seus usuários.

Perfeito! Ajudou bastante! Bem legal o assunto, vou procurar me aprofundar mais também. Obrigado pelas respostas Sérgio Lopes e Alberto Souza!