• <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
            久久人人爽人人爽人人片AV麻豆| 久久久久久国产精品美女| 久久综合久久综合久久| 国产午夜电影久久| 久久精品国产清自在天天线| 久久国产乱子伦免费精品| 久久精品无码一区二区三区免费 | 久久久黄色大片| 久久99国产乱子伦精品免费| 久久久久久国产精品免费免费| 国产成人精品综合久久久久| 99久久精品免费看国产免费| 国产偷久久久精品专区| 国内精品久久久久久久coent| 奇米影视7777久久精品人人爽| 久久精品国产99国产电影网| 国产精品久久久久久五月尺| 91精品国产色综久久 | 精品久久久久久无码国产| 伊人久久大香线蕉av一区| 色综合久久中文字幕综合网| 色噜噜狠狠先锋影音久久| 久久精品人人做人人爽电影蜜月 | 久久99久久99精品免视看动漫| 亚洲成av人片不卡无码久久| 四虎国产精品免费久久5151| 国产精品天天影视久久综合网| 久久综合亚洲鲁鲁五月天| 亚洲国产精品综合久久一线| 99久久精品久久久久久清纯| 国产精品久久精品| avtt天堂网久久精品| 色88久久久久高潮综合影院| 亚洲国产精品久久久天堂| 久久久久精品国产亚洲AV无码| 无码八A片人妻少妇久久| 久久亚洲精品国产亚洲老地址| 亚洲国产成人久久综合区| 午夜视频久久久久一区| 亚洲伊人久久综合影院| 免费无码国产欧美久久18|