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

          jetty服務(wù)器這種長(zhǎng)連接Continuations 其實(shí)不是真正的長(zhǎng)連接,應(yīng)該叫'connection freezing', or 'request parking' 連接暫停或請(qǐng)求暫停。

          對(duì)于PUSH推機(jī)制:對(duì)于Jetty6其實(shí)還是依靠AJAX的客戶端主動(dòng)請(qǐng)求的,改善的是:不需要AJAX客戶端不斷發(fā)出多次請(qǐng)求給服務(wù)器,以確定服務(wù)器端是否有響應(yīng)。服務(wù)器端hold住ajax客戶端第一次請(qǐng)求,如果沒有業(yè)務(wù)結(jié)果,就不發(fā)出響應(yīng)response,也就是說不關(guān)閉這次http連接,但是因?yàn)橐粋€(gè)連接一個(gè)線程,你保持住一個(gè)請(qǐng)求就象保持一個(gè)線程一直運(yùn)行,這是很浪費(fèi)資源的。

          傳統(tǒng)socket模式都是一個(gè)connection一個(gè)線程,NIO可以通過事件機(jī)制再觸發(fā)新線程,使得線程和請(qǐng)求可以分離,這樣, Jetty就是利用NIO這個(gè)機(jī)制,保持住請(qǐng)求request對(duì)象,釋放原來支持該請(qǐng)求的線程,讓線程返回線程池,這樣,如果業(yè)務(wù)處理有結(jié)果,Jetty就向客戶端發(fā)出響應(yīng),否則一直保持直至timeout失效。

          這個(gè)機(jī)制如果證明可行,會(huì)加入servlet 3.0新規(guī)范,到時(shí)所有Jee服務(wù)器都有這個(gè)功能。

          所以,這個(gè)機(jī)制不是嚴(yán)格意義上的推機(jī)制,但是也可以對(duì)付大量頻繁刷新請(qǐng)求,所以是一個(gè)改進(jìn)。

          至于推機(jī)制中服務(wù)器如何推,可以參考eda架構(gòu),這個(gè)是和我們平時(shí)做的JEE的SOA機(jī)制不太一樣,至于如何推,可以使用線程提醒 觀察者JDK 或JMS等等。

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

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

          Jetty

          Jetty簡(jiǎn)介

          Jetty是一個(gè)開放源碼的HTTP服務(wù)器和Java serverlet容器。。

          基本特色

          相關(guān)鏈接

          冰山上的播客

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



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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乌拉特后旗| 泗洪县| 华坪县| 连平县| 静宁县| 道孚县| 金门县| 民乐县| 枝江市| 龙里县| 奈曼旗| 花垣县| 贡觉县| 普定县| 班戈县| 罗江县| 凤冈县| 高陵县| 博罗县| 驻马店市| 巴东县| 澄城县| 封丘县| 涡阳县| 正定县| 浦县| 盐城市| 关岭| 宜都市| 博客| 获嘉县| 拉孜县| 丹东市| 麻城市| 林芝县| 太原市| 文登市| 化州市| 靖西县| 钟祥市| 禹城市|