• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我自閑庭信步,悠然自得,不亦樂乎.

                                                   ------ Keep life simple
            GMail/GTalk/MSN:huyi.zg@gmail.com

             

            TIM中網絡模型變更

            一直都隱隱約約的感覺TIM的網絡模型還是有點問題,但卻總說不出具體問題來。時不時就會想起這個事,今天在車上,終于恍然大悟。
            也許是受wildfire和jabberd2的影響太深了(特別是wildfire),TIM中網絡和業務處理的聯系過于緊密,從套接口讀到數據流后,馬上就進入XML的PullParser分析階段,雖然之后有刻意的分離網絡操作和業務邏輯,但并不徹底。
            有時候業務處理還是能夠感覺到網絡的存在,我覺得這是個不良的設計。
            讓我耿耿于懷的,是Reactor的單線程特性。或許在某些情況下這是它的優勢,但運用不當,就會成劣勢。現在的TIM把業務邏輯和網絡IO都擠進了Reactor所控制的線程中,只要存在一點點的阻塞,吞吐率將大打折扣。
            wildfire敢把網絡和業務綁得那么緊,是因為它采用的per-request,per-thread的模型,網絡IO引起的阻塞不會影響到其他request處理。我也沒有wildfire那么大的膽子采用per-request,per-thread,上下文切換的消耗不說,畢竟線程的數量也是有限制的,我很懷疑到底能承受多少連接數,如果沒有記錯,Linux沒有重編譯內核,一個進程內最多是1024個線程,Windows能多些,好像是65535,數據可能不準確,但也說明了線程資源是有限的。同時,WFMOReactor在Windows下每個線程內可同時監視的句柄數(62個),也似乎太少了,這點也讓我煩惱。
            仔細推敲后,我認為還是把網絡和業務完全脫離比較好一點,用至少一個線程專門操作套接口,突破WaitForMultipleObjects的句柄數限制,再用另外一個線程來完成業務。在業務線程上使用管道過濾器模式來一步一步的處理數據。當Reactor線程接收到數據后,放進MessageBlock里面,用Task框架來處理。
            這種模型確實解決了原先的諸多毛病,但如果在這個時候改網絡模型,對整個項目是個不小的沖擊,極有可能導致在計劃的時間內不能完成項目。猶豫了一下,為了保證品質,最終還是在SubVersion上創建了新的試驗分支。
            module.jpg

            posted on 2006-03-27 22:54 HuYi 閱讀(491) 評論(0)  編輯 收藏 引用 所屬分類: Server

            導航

            統計

            常用鏈接

            留言簿(12)

            隨筆分類

            相冊

            收藏夾

            友情鏈接

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品免费久久久久影院| 国产99久久久国产精品小说| 国产欧美一区二区久久| 日本道色综合久久影院| 久久久久国产视频电影| 日韩AV无码久久一区二区| 国产午夜福利精品久久2021| 久久93精品国产91久久综合 | 久久福利资源国产精品999| 亚洲精品乱码久久久久久自慰| 久久Av无码精品人妻系列| 久久精品无码一区二区三区| 一本久久免费视频| 99久久99这里只有免费的精品| 久久精品无码专区免费| 久久不见久久见免费视频7| 中文成人久久久久影院免费观看| 99精品国产在热久久| 久久久无码精品亚洲日韩蜜臀浪潮 | 日日躁夜夜躁狠狠久久AV| 久久精品国产亚洲5555| 日日躁夜夜躁狠狠久久AV| 亚洲国产成人久久一区WWW| 国产高清美女一级a毛片久久w| 久久天天躁狠狠躁夜夜网站 | 精品国产乱码久久久久久1区2区 | 久久久久国产成人精品亚洲午夜| 久久精品人成免费| 日韩精品久久久久久免费| 成人综合久久精品色婷婷| 久久强奷乱码老熟女| 99久久精品这里只有精品| 国产一区二区精品久久岳| 国产亚洲欧美成人久久片| 国产午夜精品理论片久久影视| 99国产精品久久久久久久成人热| 久久夜色精品国产网站| 久久久久人妻一区二区三区vr | 久久精品成人免费国产片小草| 久久久国产精品福利免费| 久久免费精品一区二区|