comet: pushlet 一些资料

http://blog.csdn.net/yyri/archive/2008/02/22/2113976.aspx

 

http://hi.baidu.com/holin/blog/item/51c9d15875124183800a189f.html

 

"Pushlet作者也承认,Pushlet存在着可伸缩性的问题:

QUOTE:
Yes, I am aware of the scalability limitations of the Pushlets framework. A dedicated server-side technique based on NIO (such as Greg, hi there, is working on ?) could help.


并且申请加入Cometd的开发工作:

QUOTE:
With great interest I have been following recent COMET developments and would like to join cometd developments in whatever way."
看来要转投“Jetty Cometd”的怀抱啦,
不过研究PUSHLET的结构还是有很多收获的。
The author wishes to express sincere appreciation to Just van den Broecke for
his prompt and detailed help in using his Pushlet’s API., Chris Bucchere for his
help with deploying the first release CometD and Alex Russell for his advice on
AJAX and CometD.
Pushlets ( http://www.pushlets.com/ )
The  use  of  Pushlets  is move  towards  a more  flexible  and  usable  solution.  The
Pushlets API works to provide a solution that doesn’t require an applet on the client
side,  and  works  via  a  long  lived  connection.  This  is  achieved  via  a  connection
much  like  that  used  for  streaming  of  multimedia,  i.e.  a  quick  time  video.  This
connection,  instead  of  being  closed  after  the  data  is  sent,  remains  open  and
receives data from the server.
Because this works via HTTP, all communication is done via a single connection to
a servlet and should work behind any  firewall, although  there maybe some  issues
with proxy’s caching data. 
 
Another benefit  to  the Pushlets API  is  that  is provides a mechanism  to directly  tie  into an
AJAX  implementation  . This provides much neater  intergration, and saves  the developer
the time.
 
Pushlets do present some  limitations  though;  the main one being  the  issue of scalability.
As  each  client  connects  its  takes  up  a  socket, which  in  turn will  hold  on  to  at  least one
thread and, consequently, memory.  If 100’s of clients connect  to  this service  the memory
usage can therefore become a significant issue, also impacting processing potential.
Pushlets  do  not  provide  a mechanism  for  knowing what  clients  receive messages.  This
means  that  it can be difficult  to  tell which clients are still alive and  the application can be
left with messages not  reaching  clients  and  broadcasting messages  to  clients  that  have
disconnected. 
The  final  issue with  Pushlets  is  that  Proxies  can  buffer HTTP  data,  this  isn’t  under  the
developers control so can prove difficult to resolve in a robust manner.
"The  first mechanism  used was Pushlets,  this was  an  effiecient method  of  achieving  the
desired  functionality, but once  testing started with  large amounts of data  (1KB maximum
per client) and clients (200+ clients)  it became apparent that the system would be unable
to  perform  to  requirements.
  This  could  be  overcome  by  using  higher  performance
hardware."

你可能感兴趣的:(Ajax,socket,servlet,performance,Comet)