際際滷

際際滷Share a Scribd company logo
2010 10 


轟 讌覃伎 れ螳朱 旧 覦螻 苦危Need螳 讀 れ伎 螳伎る  覦. 豪殊一
覯襴/る殊危/襯殊伎 れ螳煙  豌 HTML  れ螳煙 蟲覦螻 .


Ajax 豢 轟 蠍一 覦 殊狩り 螻,  れ螳 觜れ  Need襯 覿 殊殊式.
企 Need螳 Comet企手  蠍一 襷り 螻, HTML5 WebSocket 蟾讌 伎伎蟆 .


HTML5  譴 襷れ伎 螻殊願鍵 覓語 WebSocket 蠍郁讌 螳 , 企 
  る伎     覦襦  Comet蠍一企.
Comet 蠍一 瑚記 企 襷 螻 朱, 朱蟲蠍螻Facebook 螻 .


蠏碁 1. Comet 觜 襦




Comet 覓伎企 手 襷蠍 , 襾殊  企朱 覿襴磯, 襾殊  企れ 螳螻 .
Ajax push, reverse Ajax, Tow-way-web, HTTP Streaming, HTTP server push, Asynchronous push 手覿襴蠍磯 
. 企蟆 襷 覿襴 襦 れ 襷襦 螻 讌襷,   蟯 蠍 覓語 企蟆 Comet
企朱 企朱 郁鍵 .


 覯螳  觚殊一語蟆 企欧瑚 覦 襷 企欧 一危磯ゼ 螻,  觚殊一碁 一危郁 
覃 豌襴.  ,  觚殊一瑚 覈朱 豌 螳  朱 HTTP 郁屋覲企 蠍 HTTP 郁屋
 企伎. 企  危襴貅伎 郁屋 覈語 Comet企手 .


 觚殊一碁 一危郁 覦讌 殊殊 豌 螳 伎 覯 覿襯 譴願, Latency Traffic 譟
蠍企襷 譴   覦 覩誤.


 覯 Http Streaming螻 Long Polling 覦朱 蟆 れ手 苦 れ螳 覲企ゼ 伎朱 覦
覯 Comet企手 朱朱 襷. Ajax螳 れ襦  蠏碁殊企手 螳.


れ螳 Need  豌襴 伎 讌蠍蟾讌 企至 轟 蟲伎 螻 讌 危エ覲碁.


れ螳 Event 襯  觚殊一語  覦 螳

蠍一ヾ れ螳朱 覲伎譯手 苦 Need襯 伎 伎襯 覈 豐 覯 覦覲旧朱 企 伎襯狩語
Refresh  覦 轟 Ajax 語 牛 覦 . (蠏碁 2 谿語^.                    Synchorous/Asynchornous 覦
谿企ゼ 誤螻 螳 螳.)
 覦  觚殊一語 螻 語蠍 覓語 れ螳 炎鴬 螳 ,  覯螳 襷 覿伎 螳讌  
覃, Latency螳 朱 蠍  . 讌襷, Event螳 襷 覦 蟆曙一  覦   襯
讌蠍磯 .  2 ろ EA 襷 Lord of Ulitma朱 濠伎 覦 螻 .


蠏碁 2. 譯手鍵 Refresh  Ajax 語




覯 覿伎 譴願鍵 伎 Piggyback 企朱 覦 , 朱朱  HTTP 郁屋  旧
伎 麹 覲企企 覦 覩誤. (蠏碁 3 谿語^) Piggyback企朱 願 企 蠍, 覈襷蠍, 螳も
 覩瑚  願襖 . 讌襷  覦  Piggyback 豌襴 蟆曙   覲企, Client 貊 貊螳
25% 伎 讀螳螻, 覲旧′煙 手鍵  .


蠏碁 3. Piggyback 覦




れ Http Streaming 覦企.  觚殊一語蠍一  HTTP 郁屋(Stream multipart/cuunked response)
螳讌襦 , Event螳 覦襷 覦襦 豪殊一語蟆 れ螳朱 襴 覦 覩誤. (蠏碁 4 谿語^)
企蟆 , れ螳煙 覲伎ロ  る 轟 . 讌襷,  覦 蟲 譴 螳 伎螳 ,
Iframe 伎 蟆曙郁 . 企 HTML 覦讌譴企朱UI螳 螻, 貉れ 覈 螻(豌 譴)螳
覲伎 螳 ろ危   讌螳 .  郁屋 豌願  keep alive 螳 伎 蠍 覓語 
覿覿  豌襴螳 襷   .
 覦 レ 豕 蠍 伎 Flash襯   覦 蟲  . れ企 貂襴磯 曙 襴
  覦 .


蠏碁 4. Streaming 覦




 觚殊一語 轟 譯手鍵(譟郁 蠍 蠍郁, 覲危 30豐~1覿) 襷 ajax襦 Event 覦讌襯 豌り
Event螳 覦 , 覦襦  觚殊一語  覦 Long Polling 企 . (蠏碁 5 谿語^). 譯手鍵
豌 覦螻 Streaming 覦 譴螳 襯 螻 . Facebook  豈螻 朱蓋 觜れ る/れ襦 蟆,
レ 觜り れ 覦 螻 .


蠏碁 5. Long Polling 覦
Web Browser                                 Web Server




 轟 譯手鍵


                                                                     Event




讌蠍蟾讌 覦 譴 Streaming螻 Long Polling 覦 覈 Comet 企手 .
Comet 蠍一 譴 螳 襷  覦 Long Polling企.  伎 螳 所 螳 HTTP Connection 螳
 覿讌 蠍 覓語 襷 螻 .




Facebook 豈 觜るゼ 危エ覲碁. 旧 朱 覲企,  螳 豈 ,  願 襷 伎
 螻, るジ  覯襦覿 願 轟 覦 覲企 覃讌襯 覦 .  豈 覈
 ajax襦 郁屋襦 伎,  call襷 襦 .
 覯  觚殊一碁  伎   55豐蟾讌襷 蠍磯る碁り Http connection 譬襭螻 れ
Http connection  れ 郁屋 蟲譟一企.
 蠍磯蓋 豈/蟆 觜れ るゼ 蟆  螳 螳 伎襷, 蟒る 螻殊願 HTTP 螻襯 蠏
覲牛り 螻 .


蠏碁 6. Facebook 豈 蟲 伎
Framework 螳

Comet 蠍一 伎 讌 Servlet Container螻 javascript(ajax)襯  蟲 襦 襷.
Comet 蠍一  襷 蟲れ 企 譟伎.                 Dojo Jetty 讌 螳 覦  螻 , 
  DWR (http://directwebremoting.org/dwr/index.html), cometD(http://cometd.org/)    .


麹 cometD Bayeux朱 譴 蟲 蟲豌伎企. Bayeux json蠍磯朱 旧螻,  http 郁屋 
 螳 channel襦 message襯    覦 螻 . message meta/event/polling 覦朱 
伎 ク蟆    覦覯 螻牛螻 .



Servlet Container 讌

 覯 覦襦 企 comet 覦 伎  讌 螳 .
蠍一ヾ  覯(Tomcat AJP Connector) Request 伎  Connection 襷崎  Thread 豌襴
 覦 (Blocking IO/Thread per connection)  Comet 蠍一 讌 . (蠏碁 7 谿語^)
Thread螳 蟲ロ 譴 碁,  Thread 螳螳  る 企.


蠏碁 7. Blocking IO 覈 (蠍一ヾ)
Request 伎 Blocking讌 襦 螻(Non-blocking IO/Thread per request),  焔(NIO) 豬 覦
 伎 螳 . 蠏碁 襷 Request螳 れ伎る朱 襷 覦譴  襦 伎 . (蠏碁 8 谿語^)
Jetty continuation 10700 Concurrent requests襯 豌襴  螻, 覃覈襴 57MB襷 り 覃,
Tomcat Comet 10000 request 伎 豌襴り .


蠏碁 8. Non-Blocking IO 覈 (Comet 讌)




蠏碁 Servlet Container襷 企 Blocking Thread 螻  伎蠍 伎 Non-Blocking Thread 
 襦  comet 蠍一 れ願 . Tomcat Comet, Jetty Continuation 蠍一れ 企 Comet 蠍一
(觜蠍 豌)  Need襯 蠍 伎 襷れ伎. 襷 Servlet Containerれ 企 螻覩朱れ 螳讌螻 
螻,  覿覿 譴. 蠏 蟆郁骸襦 Servlet 3.0 觜蠍 豌襴  蟲朱 豢螳. Servlet 3.0
 2.3.3.3 Asynchoronous Processing 豢螳螻, State machine覿覿螻朱蠍一朱 豌襴 伎, API螳 螳
 .


 Servlet 3.0 蟲 Tomcat 7, Jetty 8 Beta螳 覦螻, 譟磯 螳  覯朱  襷 
蟆 襴 螳.



Comet 蠍一 螻 ロ 螻殊

 觚殊一  觚殊一 覯襷 Socket Limit ,  覿覿  螻るゼ  伎 螻, 觚殊一碁
 轟煙  危  .  Connection Failure  豈螻 豌襴  螻覩殊 .
觜れ 轟煙 襷蟆 Ajax polling朱 螳讌, Comet朱 狩讌 螻覩殊 .
蠏碁Μ螻, Scalability  螻覩殊 . 觜蠍 豌襴 覦 企り 讌襷, 覃覈襴螳 螳  伎螳  
. 豕 GC 螻襴讀螻  螻, 覃覈襴 蠍一 焔レ 襷 覩手  . 麹 Socket
蟯 IO(NIO)   危伎  .  Session 企 蟯襴 譴 覿覿
 蟆企.
覲伎 螻糾鴬 豬渚  . Apache Http 覯 蟆曙磯 觜蠍 覈螳 讌讌  Tomcat  覦襦 
 豬 蟲譟磯ゼ 一  .
襷讌襷朱 貊 覲旧′煙   . Framework  Servlet Container 觜蠍 Servlet 蟲 蟆曙,
State machine 朱 誤伎 State襯 螳覃伎 貊伎 蠍 覓語 蠏碁 Sequence 襦 螳覦 觜
 覲旧″   .




谿瑚 伎
  1.  Comet螻 襴覯 Ajax 谿碁  碁
  2. Exploring Reverse AJAX觚襦蠏
     http://gmapsdotnetcontrol.blogspot.com/2006/08/exploring-reverse-ajax-ajax.html

More Related Content

Comet

  • 1. 2010 10 轟 讌覃伎 れ螳朱 旧 覦螻 苦危Need螳 讀 れ伎 螳伎る 覦. 豪殊一 覯襴/る殊危/襯殊伎 れ螳煙 豌 HTML れ螳煙 蟲覦螻 . Ajax 豢 轟 蠍一 覦 殊狩り 螻, れ螳 觜れ Need襯 覿 殊殊式. 企 Need螳 Comet企手 蠍一 襷り 螻, HTML5 WebSocket 蟾讌 伎伎蟆 . HTML5 譴 襷れ伎 螻殊願鍵 覓語 WebSocket 蠍郁讌 螳 , 企 る伎 覦襦 Comet蠍一企. Comet 蠍一 瑚記 企 襷 螻 朱, 朱蟲蠍螻Facebook 螻 . 蠏碁 1. Comet 觜 襦 Comet 覓伎企 手 襷蠍 , 襾殊 企朱 覿襴磯, 襾殊 企れ 螳螻 . Ajax push, reverse Ajax, Tow-way-web, HTTP Streaming, HTTP server push, Asynchronous push 手覿襴蠍磯 . 企蟆 襷 覿襴 襦 れ 襷襦 螻 讌襷, 蟯 蠍 覓語 企蟆 Comet 企朱 企朱 郁鍵 . 覯螳 觚殊一語蟆 企欧瑚 覦 襷 企欧 一危磯ゼ 螻, 觚殊一碁 一危郁 覃 豌襴. , 觚殊一瑚 覈朱 豌 螳 朱 HTTP 郁屋覲企 蠍 HTTP 郁屋 企伎. 企 危襴貅伎 郁屋 覈語 Comet企手 . 觚殊一碁 一危郁 覦讌 殊殊 豌 螳 伎 覯 覿襯 譴願, Latency Traffic 譟 蠍企襷 譴 覦 覩誤. 覯 Http Streaming螻 Long Polling 覦朱 蟆 れ手 苦 れ螳 覲企ゼ 伎朱 覦 覯 Comet企手 朱朱 襷. Ajax螳 れ襦 蠏碁殊企手 螳. れ螳 Need 豌襴 伎 讌蠍蟾讌 企至 轟 蟲伎 螻 讌 危エ覲碁. れ螳 Event 襯 觚殊一語 覦 螳 蠍一ヾ れ螳朱 覲伎譯手 苦 Need襯 伎 伎襯 覈 豐 覯 覦覲旧朱 企 伎襯狩語 Refresh 覦 轟 Ajax 語 牛 覦 . (蠏碁 2 谿語^. Synchorous/Asynchornous 覦 谿企ゼ 誤螻 螳 螳.)
  • 2. 觚殊一語 螻 語蠍 覓語 れ螳 炎鴬 螳 , 覯螳 襷 覿伎 螳讌 覃, Latency螳 朱 蠍 . 讌襷, Event螳 襷 覦 蟆曙一 覦 襯 讌蠍磯 . 2 ろ EA 襷 Lord of Ulitma朱 濠伎 覦 螻 . 蠏碁 2. 譯手鍵 Refresh Ajax 語 覯 覿伎 譴願鍵 伎 Piggyback 企朱 覦 , 朱朱 HTTP 郁屋 旧 伎 麹 覲企企 覦 覩誤. (蠏碁 3 谿語^) Piggyback企朱 願 企 蠍, 覈襷蠍, 螳も 覩瑚 願襖 . 讌襷 覦 Piggyback 豌襴 蟆曙 覲企, Client 貊 貊螳 25% 伎 讀螳螻, 覲旧′煙 手鍵 . 蠏碁 3. Piggyback 覦 れ Http Streaming 覦企. 觚殊一語蠍一 HTTP 郁屋(Stream multipart/cuunked response)
  • 3. 螳讌襦 , Event螳 覦襷 覦襦 豪殊一語蟆 れ螳朱 襴 覦 覩誤. (蠏碁 4 谿語^) 企蟆 , れ螳煙 覲伎ロ る 轟 . 讌襷, 覦 蟲 譴 螳 伎螳 , Iframe 伎 蟆曙郁 . 企 HTML 覦讌譴企朱UI螳 螻, 貉れ 覈 螻(豌 譴)螳 覲伎 螳 ろ危 讌螳 . 郁屋 豌願 keep alive 螳 伎 蠍 覓語 覿覿 豌襴螳 襷 . 覦 レ 豕 蠍 伎 Flash襯 覦 蟲 . れ企 貂襴磯 曙 襴 覦 . 蠏碁 4. Streaming 覦 觚殊一語 轟 譯手鍵(譟郁 蠍 蠍郁, 覲危 30豐~1覿) 襷 ajax襦 Event 覦讌襯 豌り Event螳 覦 , 覦襦 觚殊一語 覦 Long Polling 企 . (蠏碁 5 谿語^). 譯手鍵 豌 覦螻 Streaming 覦 譴螳 襯 螻 . Facebook 豈螻 朱蓋 觜れ る/れ襦 蟆, レ 觜り れ 覦 螻 . 蠏碁 5. Long Polling 覦
  • 4. Web Browser Web Server 轟 譯手鍵 Event 讌蠍蟾讌 覦 譴 Streaming螻 Long Polling 覦 覈 Comet 企手 . Comet 蠍一 譴 螳 襷 覦 Long Polling企. 伎 螳 所 螳 HTTP Connection 螳 覿讌 蠍 覓語 襷 螻 . Facebook 豈 觜るゼ 危エ覲碁. 旧 朱 覲企, 螳 豈 , 願 襷 伎 螻, るジ 覯襦覿 願 轟 覦 覲企 覃讌襯 覦 . 豈 覈 ajax襦 郁屋襦 伎, call襷 襦 . 覯 觚殊一碁 伎 55豐蟾讌襷 蠍磯る碁り Http connection 譬襭螻 れ Http connection れ 郁屋 蟲譟一企. 蠍磯蓋 豈/蟆 觜れ るゼ 蟆 螳 螳 伎襷, 蟒る 螻殊願 HTTP 螻襯 蠏 覲牛り 螻 . 蠏碁 6. Facebook 豈 蟲 伎
  • 5. Framework 螳 Comet 蠍一 伎 讌 Servlet Container螻 javascript(ajax)襯 蟲 襦 襷. Comet 蠍一 襷 蟲れ 企 譟伎. Dojo Jetty 讌 螳 覦 螻 , DWR (http://directwebremoting.org/dwr/index.html), cometD(http://cometd.org/) . 麹 cometD Bayeux朱 譴 蟲 蟲豌伎企. Bayeux json蠍磯朱 旧螻, http 郁屋 螳 channel襦 message襯 覦 螻 . message meta/event/polling 覦朱 伎 ク蟆 覦覯 螻牛螻 . Servlet Container 讌 覯 覦襦 企 comet 覦 伎 讌 螳 . 蠍一ヾ 覯(Tomcat AJP Connector) Request 伎 Connection 襷崎 Thread 豌襴 覦 (Blocking IO/Thread per connection) Comet 蠍一 讌 . (蠏碁 7 谿語^) Thread螳 蟲ロ 譴 碁, Thread 螳螳 る 企. 蠏碁 7. Blocking IO 覈 (蠍一ヾ)
  • 6. Request 伎 Blocking讌 襦 螻(Non-blocking IO/Thread per request), 焔(NIO) 豬 覦 伎 螳 . 蠏碁 襷 Request螳 れ伎る朱 襷 覦譴 襦 伎 . (蠏碁 8 谿語^) Jetty continuation 10700 Concurrent requests襯 豌襴 螻, 覃覈襴 57MB襷 り 覃, Tomcat Comet 10000 request 伎 豌襴り . 蠏碁 8. Non-Blocking IO 覈 (Comet 讌) 蠏碁 Servlet Container襷 企 Blocking Thread 螻 伎蠍 伎 Non-Blocking Thread 襦 comet 蠍一 れ願 . Tomcat Comet, Jetty Continuation 蠍一れ 企 Comet 蠍一 (觜蠍 豌) Need襯 蠍 伎 襷れ伎. 襷 Servlet Containerれ 企 螻覩朱れ 螳讌螻 螻, 覿覿 譴. 蠏 蟆郁骸襦 Servlet 3.0 觜蠍 豌襴 蟲朱 豢螳. Servlet 3.0 2.3.3.3 Asynchoronous Processing 豢螳螻, State machine覿覿螻朱蠍一朱 豌襴 伎, API螳 螳 . Servlet 3.0 蟲 Tomcat 7, Jetty 8 Beta螳 覦螻, 譟磯 螳 覯朱 襷 蟆 襴 螳. Comet 蠍一 螻 ロ 螻殊 觚殊一 觚殊一 覯襷 Socket Limit , 覿覿 螻るゼ 伎 螻, 觚殊一碁 轟煙 危 . Connection Failure 豈螻 豌襴 螻覩殊 . 觜れ 轟煙 襷蟆 Ajax polling朱 螳讌, Comet朱 狩讌 螻覩殊 .
  • 7. 蠏碁Μ螻, Scalability 螻覩殊 . 觜蠍 豌襴 覦 企り 讌襷, 覃覈襴螳 螳 伎螳 . 豕 GC 螻襴讀螻 螻, 覃覈襴 蠍一 焔レ 襷 覩手 . 麹 Socket 蟯 IO(NIO) 危伎 . Session 企 蟯襴 譴 覿覿 蟆企. 覲伎 螻糾鴬 豬渚 . Apache Http 覯 蟆曙磯 觜蠍 覈螳 讌讌 Tomcat 覦襦 豬 蟲譟磯ゼ 一 . 襷讌襷朱 貊 覲旧′煙 . Framework Servlet Container 觜蠍 Servlet 蟲 蟆曙, State machine 朱 誤伎 State襯 螳覃伎 貊伎 蠍 覓語 蠏碁 Sequence 襦 螳覦 觜 覲旧″ . 谿瑚 伎 1. Comet螻 襴覯 Ajax 谿碁 碁 2. Exploring Reverse AJAX觚襦蠏 http://gmapsdotnetcontrol.blogspot.com/2006/08/exploring-reverse-ajax-ajax.html