[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: pull X push e java 1.4



On Thu, Mar 21 2002 at 06:14:47pm -0300, Tiago wrote:
 
> Mas eu me pergunto: entre um pull e o próximo, qual a probabilidade de termos
> novos dados? Gigantesca, no mínimo... no caso do chat, nao acho o pull um método
> pior que o push...

Hmm, discordo... acho beeem plausivel uma sala de "chat" ficar sem trafego
de vez em quando; veja bem: num sistema de chat razoavel baseado em
"pull", voce tem que "pullar", no minimo dos minimos, +- a cada 5 segundos
(e ja' esta' ruim). Agora suponha um servidor de 500 salas, das quais 10%
(50) tem trafego relativamente baixo, de maneira que aconteca um "pull"
desnecessario por parte dos clientes a cada minuto. supondo umas 10
pessoas nessas salas "leves", temos uns 500 "pulls" desnecessarios por
minuto.  E esse calculo ja' esta' sendo otimista, porque eu faria "pull" a
cada segundo.

> Mas quando vc usa push, vc ainda tem que saber quem ainda tá conectado!

Veja bem: "sair da sala" e' uma mensagem, entao no caso geral voce nao
precisa se preocupar com quem saiu "espontaneamente"; por outro lado, se
voce manda uma mensagem para um cliente e ele da' "timeout", voce sabe que
o cara foi desconectado de alguma maneira, ai' voce remove ele da sala e
avisa todo mundo. Agora, se realmente nada acontece na sala durante um
tempao (digamos, 5 minutos), alguns usuarios podem ter sido desconectados
("cairam") sem voce perceber (proque nao houve mensagens nesse periodo),
entao voce manda um "keepalive" para verificar. Apenas nesse caso pode
acontecer de os usuarios demorarem a saber que houve desconexao, mas esse
tempo nao e' exagerado IMHO, pois afinal ninguem esta' falando nada mesmo
(e voce pode, inclusive, baixar para 1 minuto sem maiores problemas). Isso
e' beeem leve em termos de rede e, de fato, deve acontecer rarissimamente
(a ponto de nao valer a pena implementar no caso de um EP ;-))))))

Ate' +
Nelson