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

            冰果

            技術(shù)群:26678700     
            交流QQ: 704839634
            合作: 1) 可兼職遠(yuǎn)程辦公開發(fā); 2) 有一套Go+Python開發(fā)的行業(yè)短信云平臺(tái)可合作;3)目前正在開發(fā)物聯(lián)網(wǎng)、大數(shù)據(jù)平臺(tái)。

            網(wǎng)絡(luò)通訊服務(wù)器的架構(gòu)選擇

            一個(gè)網(wǎng)友問(wèn)我:他有幾百個(gè)客戶端并發(fā)訪問(wèn)的請(qǐng)求,想選擇boost::asio的現(xiàn)成異步通訊框架,感覺怎么樣。

            對(duì)C++開發(fā)人員來(lái)說(shuō),很多人應(yīng)該不止一次面對(duì)這個(gè)問(wèn)題,甚至是工作了七八年的人。

            我發(fā)現(xiàn)一個(gè)現(xiàn)象:當(dāng)一個(gè)C++開發(fā)人員,面對(duì)一個(gè)服務(wù)器開發(fā)需求時(shí),常常不自覺去想尋找一個(gè)高效的網(wǎng)絡(luò)通訊庫(kù),而且考慮的比其它方面更早。

            效率,是C/C++開發(fā)人員引以自傲的一個(gè)方面,即便嘴里不說(shuō),潛意識(shí)里會(huì)有這個(gè)想法。

            這一潛意識(shí)讓他們?cè)诿鎸?duì)服務(wù)器開發(fā)時(shí),會(huì)不自覺去想要得到一個(gè)最好的網(wǎng)絡(luò)通訊框架,不管是否存在,是否有必要。

            你現(xiàn)在面對(duì)的這個(gè)實(shí)際需求,是否真的需要一個(gè)你心里想要的那個(gè)高效的網(wǎng)絡(luò)通訊框架?

            你的業(yè)務(wù)流程是什么?動(dòng)手在紙上畫一畫,再?gòu)?fù)雜用UML圖設(shè)計(jì)一下,難道除了網(wǎng)絡(luò)通訊,就沒(méi)有其它方面更耗時(shí)?更值得關(guān)注?

            真正的平均客戶端連接并發(fā)是多少?頻率有多高?

            你準(zhǔn)備投入多少臺(tái)服務(wù)器,每臺(tái)服務(wù)器的CPU速度、內(nèi)存大小、磁盤轉(zhuǎn)速和采用什么陣列、網(wǎng)卡是100M還是真1000M、網(wǎng)絡(luò)上交換機(jī)和路由器是怎么部署的,客戶端和服務(wù)器之間通訊的距離是有什么特點(diǎn),等等?

            你們有多少開發(fā)人員和測(cè)試人員,這個(gè)項(xiàng)目客戶給你多長(zhǎng)時(shí)間完成,你準(zhǔn)備什么質(zhì)量程度給他交貨?

            我們把思路收回來(lái),就考慮網(wǎng)絡(luò)通訊框架:

            業(yè)務(wù)模型到底適合采用TCP還是UDP?采用長(zhǎng)連接還是短連接?采用異步還是同步?采用阻塞還是非阻塞?

            是手工寫個(gè)簡(jiǎn)單的好,還是采用現(xiàn)成的網(wǎng)絡(luò)通訊框架?

            采用現(xiàn)成的網(wǎng)絡(luò)通訊框架: 選擇boost::asio?選擇ACE?選擇MFC自帶的異步類?。。。。。。

            你熟悉這些框架嗎?他們有多大?你是不是這次只用到那1/1000之一的部分?為了這個(gè)小功能,你到底愿意搞那么一個(gè)龐然大物嗎?

            最后,你這個(gè)子系統(tǒng),一定要用C/C++來(lái)實(shí)現(xiàn)最合適嗎?你還會(huì)其它開發(fā)語(yǔ)言嗎?

            從各個(gè)方面多問(wèn)問(wèn)自己,然后自己試著回答,說(shuō)不定我們先前的疑問(wèn)就不存在了。

            posted on 2012-04-17 20:52 冰果 閱讀(2755) 評(píng)論(2)  編輯 收藏 引用

            評(píng)論

            # re: 網(wǎng)絡(luò)通訊服務(wù)器的架構(gòu)選擇 2012-04-18 12:46 LOGOS

            這說(shuō)明兩個(gè)問(wèn)題:
            1.有個(gè)已知的網(wǎng)絡(luò)庫(kù),方便做接下來(lái)的設(shè)計(jì)。巧婦難為無(wú)米之炊,手中有糧心中不慌。
            2.當(dāng)前并沒(méi)有一個(gè)輕量簡(jiǎn)潔高效的跨平臺(tái)網(wǎng)絡(luò)庫(kù),所以才會(huì)挑來(lái)挑去。  回復(fù)  更多評(píng)論   

            # re: 網(wǎng)絡(luò)通訊服務(wù)器的架構(gòu)選擇 2012-04-18 15:12 shaker(太子)

            @LOGOS
            當(dāng)前并沒(méi)有一個(gè)輕量簡(jiǎn)潔高效的跨平臺(tái)并且有一定權(quán)威的網(wǎng)絡(luò)庫(kù)
            這個(gè)是問(wèn)題的關(guān)鍵,asio是一個(gè)好選擇  回復(fù)  更多評(píng)論   

            # re: 網(wǎng)絡(luò)通訊服務(wù)器的架構(gòu)選擇 2012-04-19 12:17 朱峰 - everettjf

            c++考慮的就是如此多  回復(fù)  更多評(píng)論   


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


                                                        
            狠狠色丁香婷综合久久| 国内精品综合久久久40p| 久久亚洲国产成人影院网站| 久久99精品国产自在现线小黄鸭| 韩国免费A级毛片久久| 99久久人妻无码精品系列| 久久这里只精品国产99热| 久久五月精品中文字幕| 中文字幕热久久久久久久| 国产99精品久久| 亚洲国产一成人久久精品| 色综合久久最新中文字幕| 久久免费视频一区| 一本久久a久久精品亚洲| 亚洲国产精品人久久| 亚洲精品白浆高清久久久久久| 91精品国产91久久久久福利| 国产亚洲美女精品久久久| 久久国产乱子伦免费精品| 久久强奷乱码老熟女网站| 久久91精品综合国产首页| 久久夜色精品国产亚洲| 欧美激情精品久久久久久久九九九| 少妇熟女久久综合网色欲| 国产成人无码精品久久久免费| 久久水蜜桃亚洲av无码精品麻豆| 久久影院久久香蕉国产线看观看| 人妻无码αv中文字幕久久| 人妻丰满?V无码久久不卡| 国产精品久久久天天影视香蕉| 久久久久se色偷偷亚洲精品av| 欧美777精品久久久久网| 996久久国产精品线观看| 久久精品国产精品亚洲精品 | 久久久久国产精品嫩草影院| 久久伊人精品青青草原高清| 久久久久免费看成人影片| 久久天天躁狠狠躁夜夜2020一 | 久久亚洲视频| 国产三级精品久久| AAA级久久久精品无码区|