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

被折叠的 条评论
为什么被折叠?



