JiveJdon Community Forums
在线173人   首页   主题表   培训咨询   标签   查搜   注册    登陆 RSS
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
RSS google yahoo 365Key网摘 CSDN网摘 添加到百度搜藏 POCO网摘 新浪ViVi QQ网摘
???en_US.forumThreadNext.name??? 下一主题
Go 共有 1 回复(1页) 阅读257次
 发表新帖子   回复该主题贴
banq



发表文章: 11282
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 70人关注
异步Web是一场革命 2009年04月29日 09:55 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
标签     
传统的Web是同步的,发出一个请求就等待响应,如果等不到响应,客户端就会报错,这种同步方式是刚性的,刚则易断。

异步方式,就是不一定一个请求一定即时有一个响应,这就类似兵分两路,花开两朵,各表一枝,当前软件热点就是并行多核计算,异步方式也是一种并行分布式计算方式。如图2:

Web异步有两种方式:
1.象图2的HTTP streaming,整个客户端使用一个http长连接,由客户端发起这个长连接,服务器通过这个长连接向客户端推push信息,但问题就是有时无法穿透防火墙。

2.HTTP long polling:客户端发出一个请求后不立即返回响应,响应在服务器端被block停住,等服务器端发生事件过来解锁这个block,这时响应再返回,返回后这个连接就断了,客户端再发起一个新的请求,开始下一个轮回。

long polling表面上好像是这台机器反应很慢,要停顿一会儿才有响应一样,这可以欺骗穿透防火墙。这是一种好的方式。

由于HTTP long polling的响应要滞后传输到客户端,客户端就要有专门代码来处理这个滞后响应,这时socket http连接也许已经关闭。客户端必须接受响应,并更新界面信息。

这个过程有一些细节要求处理:服务器滞后响应与服务器死机要进行区分,眼睛一睁,觉醒了;眼睛不睁,就死了,所以客户端要有一个heartbeating心跳机制。正常IE同时有两个网络连接,我们拿来一个给long polling机制作为心跳测试使用了,一个是处理正常的请求。

这些都要求客户端AJAX等RIA技术来配合。

Servlet 3.0 specification (JSR 315)是提供这种异步Web的一个基础条件,很多中间件服务器已经提供这种异步功能:
Tomcat 6 Comet Processor
Glassfish Grizzly Connector
Jetty Continuations
WebLogic Future Response Servlet
WebSphere Asynchronous Request Dispatcher

英文原文:What is the Asynchronous Web, and How is it Revolutionary?

本站相关讨论:
关于Jetty6.0服务器的Continuations

[该贴被admin于2009-08-15 08:36修改过]



ACoder



发表文章: 202
注册时间: 2008年10月12日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 2人关注
异步Web是一场革命 2009年04月29日 10:49 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
这种服务器在可承载能力上一定会有问题,只能通过集群来解决。就算使用集群,性能也不会很好,本身HTTP的设计不是为了这种长连接准备的。
标签     
共有 1 回复(1页) Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
正在读取,请等待...
查询本论坛内 回复超过的热门帖子
标题
 
粗体: [b]文本[/b] 斜体: [i]文本[/i] 下划线 [u]文本[/u] 插入网上的图片 [img]http://wwww.xxxx.com/img.ext[/img] 插入代码 [code]程序代码[/code]  插入url链接 [url]http://url[/url] / [url=http://url]URL加下滑线[/url] 上传图片 word文档 Txt等附件
内容
  提交时自动拷贝以上内容到剪贴板 Ctrl+V可取出;提问题前先查询标签列表

使用帮助 手机m.jdon.com RSS add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的软件架构社区 推荐FireFox或Chrome快速浏览本站
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-10 jdon.com

anti spam