在线173人
首页
主题表
培训咨询
标签
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
设计模式、框架和架构
上一主题
事件监听模式其实就是一种观察者模式,只是角度有点不同,在Java的JavaBean机制以及GUI中都使用了事件监听模式。在如今AJAX RIA客户端中,事件监听模式也成为一个主要的界面模式。 事件..
下一主题
单例Singleton和Prototype模式(Pool多例池化)曾经是两个截然相反的模式,EJB的无态会话Bean最早是以Pool形式出现,后来颠覆 EJB 的Spring提出Singleton..
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的设计不是为了这种长连接准备的。
异步架构(50)
共有
1
回复(
1
页)
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
正在读取,请等待...
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
提交时自动拷贝以上内容到剪贴板 Ctrl+V可取出;提问题前先查询
标签列表
使用帮助
解惑之道在
J道
,打造中国最具影响力的的软件架构社区
推荐FireFox或Chrome快速浏览本站
OpenSource
JIVEJDON
Powered by
JdonFramework
Code © 2002-10
jdon.com
anti spam