comet: pushlet 一些资料

本文探讨了Pushlets框架在实现服务器推送技术方面的优势与局限性,并对其与Cometd进行了比较。Pushlets通过长连接实现数据推送,但存在可伸缩性和内存消耗等问题。面对大量客户端连接时,其性能瓶颈明显。

http://blog.youkuaiyun.com/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."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值