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

            socketref,再見(jiàn)!高德

            https://github.com/adoggie

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(54)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            聊聊草草
            實(shí)現(xiàn)一套通信框架
            A - 移動(dòng)終端; B - 接入服務(wù)器(網(wǎng)關(guān)) , C,D,E - 內(nèi)部服務(wù)系統(tǒng) , M -內(nèi)部服務(wù)系統(tǒng)的消息隊(duì)列
            B 用于接入成千上萬(wàn)的A,B不具備業(yè)務(wù)能力,只有CDE才能與A進(jìn)行業(yè)務(wù)交互,M充當(dāng)消息管道。
            一般的做法,各個(gè)系統(tǒng)模塊指定標(biāo)準(zhǔn)協(xié)議,可以是xml或者二進(jìn)制的,然后各開(kāi)發(fā)各的,socket或者h(yuǎn)ttp等部件,開(kāi)發(fā)語(yǔ)言也是cpp,python,java齊上陣。
            這種開(kāi)發(fā)模式過(guò)于繁瑣,模塊之間的耦合比較緊密,應(yīng)該把應(yīng)用和通信細(xì)節(jié)剝離出來(lái)。
            我的做法是所有有系統(tǒng)對(duì)象之間的消息傳遞都是基于Rpc接口級(jí)的調(diào)用,更本不設(shè)計(jì)通信、協(xié)議編碼,只要根據(jù)IDL就可以,A請(qǐng)求C的服務(wù),那A只需要調(diào)用C的接口函數(shù)即可,底部的工作:
            A到B的socket通信,B將A的消息轉(zhuǎn)換到M,M再傳輸?shù)紺,這些工作都可以透過(guò)Rpc層完成透明,反過(guò)來(lái)C的調(diào)用請(qǐng)求也安原路返回到A。
            C要發(fā)送消息到A,那調(diào)用A的接口,rpc層自動(dòng)將請(qǐng)求轉(zhuǎn)化未MQ協(xié)議,被路由到B,B找到A的鏈接,并將Mq消息轉(zhuǎn)化未socket消息傳遞到A,A端接收消息轉(zhuǎn)換成Rpc函數(shù)回調(diào)到A的應(yīng)用代碼。

            除了簡(jiǎn)單的調(diào)用、返回方式還有
            單項(xiàng)調(diào)用請(qǐng)求、異步調(diào)用請(qǐng)求、消息廣播請(qǐng)求

            B端可以通過(guò)外部配置使得A的請(qǐng)求路由到C,或者D,或者全部接收,取決與應(yīng)用需求(應(yīng)用還是集群)
            MQ如果系統(tǒng)總線一般,將各個(gè)服務(wù)子系統(tǒng)鏈接成網(wǎng)絡(luò),是構(gòu)成整個(gè)系統(tǒng)的基礎(chǔ)。Rpc可以解脫程序員,讓其將經(jīng)歷花在具體業(yè)務(wù)上,而且基本只要編寫(xiě)若干的服務(wù)接口函數(shù)即可。

            當(dāng)然要實(shí)現(xiàn)以上功能特點(diǎn),很多可用的框架,CORBA,DCOM,ICE等等,但這些過(guò)于龐大,對(duì)環(huán)境要求也有限制,如果要更高效、靈活的運(yùn)用和包裝需要大量修改其底層代碼,與第三方的整合只能工作在他們的上層接口上,這個(gè)令人很沮喪,會(huì)導(dǎo)致產(chǎn)生更多的依賴和復(fù)雜的編程技巧。
            這些全都丟棄,還是自己的rpc
            posted on 2012-11-22 10:50 放屁阿狗 閱讀(3530) 評(píng)論(0)  編輯 收藏 引用 所屬分類: WebService 、qpid 、Android
            亚洲精品蜜桃久久久久久| 久久93精品国产91久久综合| 无码人妻少妇久久中文字幕| 亚洲日韩欧美一区久久久久我| 久久久久久久久久久久久久| 久久丫精品国产亚洲av| 91久久精品国产免费直播| 久久久亚洲AV波多野结衣| 国产精品久久久久久久久免费 | 久久91精品国产91久久麻豆| 亚洲国产精品一区二区久久| 久久久久精品国产亚洲AV无码| 97久久超碰国产精品旧版| 香蕉99久久国产综合精品宅男自 | 久久这里只有精品视频99| 少妇久久久久久久久久| 亚洲国产精品嫩草影院久久| 亚洲一区中文字幕久久| 久久香蕉超碰97国产精品| 无码国内精品久久综合88| 国产一区二区精品久久岳| 国产精品久久久久久久久免费| 久久亚洲精品无码VA大香大香| 精品无码久久久久久久久久| 色综合久久久久无码专区| 狠狠色丁香婷婷久久综合五月| 99久久亚洲综合精品网站| 久久午夜羞羞影院免费观看| 国产69精品久久久久9999APGF| 亚洲欧美精品一区久久中文字幕| 久久高潮一级毛片免费| 91精品婷婷国产综合久久| 97精品伊人久久久大香线蕉| av无码久久久久不卡免费网站| 久久久久亚洲精品天堂| 久久精品夜夜夜夜夜久久| 久久精品国产亚洲AV大全| www久久久天天com| 久久久综合九色合综国产| 久久91精品久久91综合| 国产L精品国产亚洲区久久|