ajax jetty,关于Jetty6.0服务器的Continuations

jetty服务器这种长连接Continuations 其实不是真正的长连接,应该叫'connection freezing', or 'request parking' 连接暂停或请求暂停。

对于PUSH推机制:对于Jetty6其实还是依靠AJAX的客户端主动请求的,改善的是:不需要AJAX客户端不断发出多次请求给服务器,以确定服务器端是否有响应。服务器端hold住ajax客户端第一次请求,如果没有业务结果,就不发出响应response,也就是说不关闭这次http连接,但是因为一个连接一个线程,你保持住一个请求就象保持一个线程一直运行,这是很浪费资源的。

传统socket模式都是一个connection一个线程,NIO可以通过事件机制再触发新线程,使得线程和请求可以分离,这样, Jetty就是利用NIO这个机制,保持住请求request对象,释放原来支持该请求的线程,让线程返回线程池,这样,如果业务处理有结果,Jetty就向客户端发出响应,否则一直保持直至timeout失效。

这个机制如果证明可行,会加入servlet 3.0新规范,到时所有Jee服务器都有这个功能。

所以,这个机制不是严格意义上的推机制,但是也可以对付大量频繁刷新请求,所以是一个改进。

至于推机制中服务器如何推,可以参考EDA架构,这个是和我们平时做的JEE的SOA机制不太一样,至于如何推,可以使用线程提醒 观察者JDK 或JMS等等。

http://www.theserverside.com/news/thread.tss?thread_id=36594

http://docs.codehaus.org/display/JETTY/Continuations

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值