隨筆-62  評論-29  文章-0  trackbacks-0
          Jetty6.0提供了AJAX的服務器端的推的技術,而且采用的是JAVA非阻塞的I/O,可以保證"Thousands of users can be served with hundreds of connections”,在學習DWR2的時候,也有類似服務器的推技術,對于這種技術是基于HTTP1.1的長連接進行的,但是網上關于這個方面的資料不是很多,僅僅從理論的角度進行講解,請教banq能否 通過一個簡單的技術模擬下這種服務器的長連接(并不是輪詢的方式),將服務器的數據推到客戶端,并且不占用當前的請求線程,他們的實現機制是如何的?目前僅僅有感性認識,主要問題是服務器如何得知需要更新的客戶。請bang詳細闡述一下,謝謝

          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

          Jetty

          Jetty簡介

          Jetty是一個開放源碼的HTTP服務器和Java serverlet容器。。

          基本特色

          相關鏈接

          冰山上的播客

          http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/jetty



          posted on 2009-06-03 11:21 閱讀(762) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿(2)

          隨筆檔案

          相冊

          小弟的淘寶店

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高密市| 沂水县| 施秉县| 高青县| 怀来县| 新和县| 敖汉旗| 宁阳县| 志丹县| 三穗县| 呼和浩特市| 报价| 彩票| 吴旗县| 平南县| 南木林县| 罗甸县| 唐河县| 怀远县| 安庆市| 疏勒县| 治县。| 农安县| 陇南市| 万安县| 民乐县| 荆州市| 武冈市| 榆中县| 建阳市| 临洮县| 浮山县| 龙岩市| 洪雅县| 永寿县| 太保市| 沽源县| 镇赉县| 新巴尔虎右旗| 安岳县| 岑溪市|