• <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>

            飯中淹的避難所~~~~~

            偶爾來避難的地方~

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              94 隨筆 :: 0 文章 :: 257 評論 :: 0 Trackbacks

            【結(jié)構(gòu)】

             這種架構(gòu)模型,是一種由 APP/ SERVICE / SESSION 組合而成的架構(gòu)模型,一般縮寫為 ASS。(這個縮寫比較有意思~~)

            APP 就是服務(wù)應(yīng)用程序的一個代理,它接管應(yīng)用程序的控制權(quán)(就是在MAIN或者WINMAIN里面直接進(jìn)入一個APP的內(nèi)部循環(huán),直到程序結(jié)束才返回),并在內(nèi)部進(jìn)行初始化和結(jié)束的收尾工作,并管理所有的SERVICE。

            SERVICE 就是服務(wù),它負(fù)責(zé)管理一個服務(wù),和它下屬的所有SESSION(會話),在TCP協(xié)議下,它就是一個監(jiān)聽器對象,在一個端口上提供服務(wù)。

            SESSION 就是會話,它負(fù)責(zé)維持一個和外部呼叫者之間的會話。在TCP協(xié)議下,它就是一個連接對象,用來和一個外部的用戶進(jìn)行通信。

            從整體上看,是APP管理著一群SERVICE,然后SERVICE管理著一群SESSION 的這樣一種樹狀,金字塔狀,食物鏈狀的框架結(jié)構(gòu)。


            【工作方式】

            當(dāng)一個使用ASS架構(gòu)的服務(wù)器應(yīng)用程序啟動的時候,首先進(jìn)行APP的初始化,在這里面,用戶(服務(wù)應(yīng)用編寫者)可以(需要)將這個服務(wù)器應(yīng)用所用到的所有服務(wù)開啟,并進(jìn)行一些設(shè)定的讀取,和對象的創(chuàng)建。
            初始化完成之后,SERVICE都被啟動起來之后,APP進(jìn)入一個服務(wù)器心跳的循環(huán)里,并驅(qū)動在它管轄之下的所有SERVICE的心跳。
            而此時,所有的SERVICE都在各自的服務(wù)上進(jìn)行監(jiān)聽,當(dāng)獲得一個外部連入時,就創(chuàng)建一個SESSION,并管理起來。
            而SESSION從連入開始的時候被創(chuàng)建,一直生存到外部連入結(jié)束為止。

            【優(yōu)點】

            分級式的架構(gòu)方式,易于管理,方便擴(kuò)展,且相當(dāng)靈活。
            讓本來雜亂無章的服務(wù)器應(yīng)用,變的井井有條起來。


            【歷史】

            這個架構(gòu)最初源于我的一次服務(wù)器網(wǎng)絡(luò)底層的重構(gòu)。因為項目里面的一個服務(wù)器應(yīng)用需要在兩個端口上進(jìn)行不同的服務(wù)監(jiān)聽,而之前的網(wǎng)絡(luò)底層只能在一個應(yīng)用里面創(chuàng)建一個監(jiān)聽,應(yīng)用受到了一定的限制,于是我設(shè)計了最初的分級模型,一直發(fā)展到今天,SESSION從最初的CLIENTSHADOW到后來的CONNECTION,最終定為SESSION,這個歷程也反映了我對“會話”這個概念的不斷重新認(rèn)識。而SERVICE則一直是叫做SERVICE,因為它的含義足夠清晰。APP一直沒有找到合適的詞語,索性就用APP來稱呼算了。然后就出現(xiàn)了這個有趣的ASS縮寫。

            【產(chǎn)品】

            現(xiàn)在,我用這種模型構(gòu)建了一套服務(wù)器引擎的組件,叫做“X Server Engine”。其實就是將APP, SERVICE, SESSION的主要部分和事件部分剝離開,互相使用C++的純虛接口進(jìn)行通信。把網(wǎng)絡(luò)框架和網(wǎng)絡(luò)底層封裝在一個動態(tài)鏈接庫里面,只導(dǎo)出框架接口,從而實現(xiàn)應(yīng)用代碼和底層代碼的分離。通過一些簡單的接口派生,就可以創(chuàng)建強(qiáng)大的服務(wù)器應(yīng)用了。這套組件的代碼,會在合適的時候公開出來,現(xiàn)在里面還是一團(tuán)糟啊= =。這個組件是分為三個平臺,WINNT( NT4.0以上IOCP支持),LINUX(EPOLL支持),F(xiàn)REEBSD(KQUEUE),每個平臺上使用效率最高的網(wǎng)絡(luò)底層,而外部接口則是完全一致,基本實現(xiàn)一處編寫,處處編譯^_^。


            【附圖】

                藍(lán)色線表示客戶端主動連接,通過Service的Port Listener在Service內(nèi)建立起Session。
                紅色線表示Service內(nèi)部的一個Session主動連接到外部的服務(wù)器。
                但是在Service內(nèi)部,所有已經(jīng)建立連接的Session都進(jìn)行相同的處理。






            posted on 2008-04-03 00:27 飯中淹 閱讀(2157) 評論(3)  編輯 收藏 引用

            評論

            # re: 一種完善的面向?qū)ο蟮木W(wǎng)絡(luò)架構(gòu)模型 - ASS 2008-04-03 08:37 mm
            想看看,期待之  回復(fù)  更多評論
              

            # re: 一種完善的面向?qū)ο蟮木W(wǎng)絡(luò)架構(gòu)模型 - ASS 2008-04-03 08:49 Kevin Lynx
            早就想看XServerEngine了。

            Server(Service)
            / | \
            Session1 Session2 Session3

            完成理解,呵呵 .

              回復(fù)  更多評論
              

            # re: 一種完善的面向?qū)ο蟮木W(wǎng)絡(luò)架構(gòu)模型 - ASS 2008-04-07 12:01 cppexplore
            期待中......
            看來是一個更高一級的封裝,考慮的東西更多更復(fù)雜。公布出來一定拜讀。  回復(fù)  更多評論
              


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久精品国产免费观看三人同眠| 久久一区二区三区免费| 日韩精品久久久肉伦网站| 国产精品久久波多野结衣| 亚洲精品无码久久久影院相关影片| 久久久久亚洲AV综合波多野结衣 | 国产精品99久久久精品无码| 香港aa三级久久三级| 久久精品无码一区二区三区免费| 久久国产精品99国产精| 91久久香蕉国产熟女线看| 久久婷婷五月综合97色直播| 91精品日韩人妻无码久久不卡| 久久亚洲av无码精品浪潮| 久久夜色精品国产噜噜噜亚洲AV| 久久久久噜噜噜亚洲熟女综合 | 91精品免费久久久久久久久| 美女久久久久久| 日本三级久久网| 成人国内精品久久久久影院| 亚洲国产成人久久一区WWW| 国产精品激情综合久久| 高清免费久久午夜精品| 久久久无码精品亚洲日韩按摩 | 日本WV一本一道久久香蕉| 四虎影视久久久免费| 精品国产青草久久久久福利 | 国产精品热久久毛片| 91精品国产色综合久久| 久久无码人妻一区二区三区| 久久久SS麻豆欧美国产日韩| 亚洲国产高清精品线久久 | 人妻精品久久久久中文字幕69| 亚洲欧美另类日本久久国产真实乱对白 | 国产精品久久久久久久久| 人妻无码αv中文字幕久久琪琪布| 亚洲国产精品无码久久青草| 久久久久久A亚洲欧洲AV冫| 久久综合九色综合久99| 尹人香蕉久久99天天拍| 思思久久好好热精品国产|