国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

rpc通信原理淺析

這篇具有很好參考價值的文章主要介紹了rpc通信原理淺析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

rpc通信原理淺析

rpc(remote procedure call),即遠程過程調(diào)用,廣泛用于分布式或是異構(gòu)環(huán)境下的通信,數(shù)據(jù)格式一般采取protobuf。

protobuf(protocol buffer)是google 的一種數(shù)據(jù)交換的格式,它獨立于平臺語言。
google 提供了protobuf多種語言的實現(xiàn):java、c#、c++、go 和 python,每一種實現(xiàn)都包含了相應(yīng)語言的編譯器以及庫文件。
由于它是一種二進制的格式,比使用 xml(20倍) 、json(10倍)進行數(shù)據(jù)交換快許多??梢园阉糜诜植际綉?yīng)用之間的數(shù)據(jù)通信或者異構(gòu)環(huán)境下的數(shù)據(jù)交換。作為一種效率和兼容性都很優(yōu)秀的二進制數(shù)據(jù)傳輸格式,可以用于諸如網(wǎng)絡(luò)傳輸、配置文件、數(shù)據(jù)存儲等諸多領(lǐng)域。
protobuf比json、xml塊是毋庸置疑的,一方面前者是二進制存儲,后兩者是純文本存儲且還需要存取一些額外的數(shù)據(jù)信息,例如xml需要存取標簽、json需要存取key-vale。

上一節(jié)說到,分布式環(huán)境下不同服務(wù)器上的節(jié)點,想要完成服務(wù)的互相調(diào)用離不開rpc遠程調(diào)用,這里簡單分析一下調(diào)用過程。
step1:local調(diào)用一個service,即一個method,該method有方法名、方法的參數(shù)以及返回值,首先如何知道這個服務(wù)在哪個分布式節(jié)點上?這就要實現(xiàn)服務(wù)注冊和服務(wù)發(fā)現(xiàn)(例如zookeeper),分布式各節(jié)點先將自身擁有的一些服務(wù)注冊到服務(wù)中心,那么local調(diào)用某個服務(wù)的時候,就先去服務(wù)中心去找這個注冊的服務(wù)在哪臺節(jié)點上注冊的,找到這個節(jié)點后,那么說明我要通過該結(jié)點返回這個服務(wù)所執(zhí)行的結(jié)果。
step2:擁有該服務(wù)的分布式節(jié)點如何知道調(diào)用者需要哪個服務(wù)?顯然local需要自己將要調(diào)用的服務(wù)的一些標識信息(方法名、參數(shù)、返回值)通過網(wǎng)絡(luò)傳輸給該結(jié)點,這里local采取protobuf來序列化服務(wù)的標識信息,然后通過網(wǎng)絡(luò)發(fā)送給對端。
step3:擁有該服務(wù)的節(jié)點,接收到local發(fā)送過來的數(shù)據(jù)之后,需要反序列化出服務(wù)的標識信息,這樣才知道需要調(diào)用哪個服務(wù),調(diào)用完成之后得到該服務(wù)的結(jié)果,那么和調(diào)用的過程類似,先將這個結(jié)果序列化,然后發(fā)送給對端,當然如果該服務(wù)沒有調(diào)用成功,那么可以序列化錯誤信息返回,表示調(diào)用失敗。
step4:local端接收到服務(wù)調(diào)用的結(jié)果,同樣采取反序列化的方式得到需要的結(jié)果,local再根據(jù)結(jié)果做下一步操作或是返回錯誤,整個rpc調(diào)用過程結(jié)束。
rpc通信原理淺析,分布式,分布式,rpc
黃色部分:設(shè)計rpc方法參數(shù)的打包和解析,也就是數(shù)據(jù)的序列化和反序列化,使用Protobuf。
綠色部分:網(wǎng)絡(luò)部分,包括尋找rpc服務(wù)主機,發(fā)起rpc調(diào)用請求和響應(yīng)rpc調(diào)用結(jié)果。文章來源地址http://www.zghlxwxcb.cn/news/detail-609612.html

到了這里,關(guān)于rpc通信原理淺析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • pytest-xdist分布式測試原理淺析

    pytest-xdist分布式測試原理淺析

    目錄 pytest-xdist執(zhí)行流程: pytest-xdist 模塊結(jié)構(gòu): pytest-xdist分布式測試原理: pytest-xdist源碼淺讀: 解析命令行參數(shù):pytest-xdist 會解析命令行參數(shù),獲取用戶指定的分發(fā)模式、進程數(shù)、主機列表等信息。 加載測試用例:pytest-xdist 會加載所有的 pytest 測試用例,包括在當前目錄

    2024年02月13日
    瀏覽(26)
  • RPC分布式網(wǎng)絡(luò)通信框架(三)—— 服務(wù)配置中心Zookeeper模塊

    RPC分布式網(wǎng)絡(luò)通信框架(三)—— 服務(wù)配置中心Zookeeper模塊

    分布式系統(tǒng)存在的問題: 為了支持高并發(fā),每個客戶端都保存了一份服務(wù)提供者的 列表 。但是如果 列表 有更新,想要得到最新的URL列表(rpc服務(wù)的ip和端口號),必須要手動更新配置文件,很不方便。 如圖所示,實例3掛掉了,但是 列表 并沒有得到更新。 故需要動態(tài)的更

    2024年02月15日
    瀏覽(22)
  • .NET分布式Orleans - 2 - Grain的通信原理與定義

    .NET分布式Orleans - 2 - Grain的通信原理與定義

    Grain 是 Orleans 框架中的基本單元,代表了應(yīng)用程序中的一個實體或者一個計算單元。 每個Silo都是一個獨立的進程,Silo負責加載、管理和執(zhí)行Grain實例,并處理來自客戶端的請求以及與其他Silo之間的通信。 通信原理 在相同的Silo中,Grain與Grain之間的通信通過直接的方法調(diào)用實

    2024年03月24日
    瀏覽(21)
  • rpc通信原理淺析

    rpc通信原理淺析

    rpc(remote procedure call),即遠程過程調(diào)用,廣泛用于分布式或是異構(gòu)環(huán)境下的通信,數(shù)據(jù)格式一般采取protobuf。 protobuf(protocol buffer)是google 的一種數(shù)據(jù)交換的格式,它獨立于平臺語言。 google 提供了protobuf多種語言的實現(xiàn):java、c#、c++、go 和 python,每一種實現(xiàn)都包含了相應(yīng)語言

    2024年02月15日
    瀏覽(25)
  • 淺析集群、分布式、負載均衡

    淺析集群、分布式、負載均衡

    平時開發(fā)或者面試中進場聽到集群、分布式、負載均衡等系列的名詞,他們之間有什么聯(lián)系呢,本文就簡要的拋磚引玉一下。 1.什么是集群 集群一般指的是服務(wù)器集群。集群其實就是一組相互獨立的計算機,通過高速的網(wǎng)絡(luò)組成一個計算機系統(tǒng)。而很多服務(wù)器集中起來一起進

    2024年02月13日
    瀏覽(22)
  • 分布式【RPC 常見面試題】

    一、注冊中心 策略:服務(wù)注冊原理、注冊中心結(jié)構(gòu)、zookeeper的原理、幾個注冊中心的區(qū)別、分布式算法、分布式事務(wù)。 項目細節(jié):服務(wù)注冊、服務(wù)發(fā)現(xiàn)、服務(wù)注銷、監(jiān)聽機制 介紹一下服務(wù)注冊中心怎么做的? (1)服務(wù)發(fā)現(xiàn): 服務(wù)注冊/反注冊:保存服務(wù)提供者和服務(wù)調(diào)用者

    2024年02月03日
    瀏覽(32)
  • 分布式 RPC 框架HSF

    分布式 RPC 框架HSF

    HSF (High-speed Service Framework),高速服務(wù)框架,是在阿里巴巴內(nèi)部廣泛使用的分布式 RPC 服務(wù)框架。 HSF 作為阿里巴巴的基礎(chǔ)中間件,聯(lián)通不同的業(yè)務(wù)系統(tǒng),解耦系統(tǒng)間的實現(xiàn)依賴。HSF 從分布式應(yīng)用的層面,統(tǒng)一了服務(wù)的發(fā)布/調(diào)用方式,從而幫助用戶可以方便、快速的開發(fā)分布式

    2024年02月16日
    瀏覽(35)
  • Prometheus集群分布式架構(gòu)淺析

    Prometheus集群分布式架構(gòu)淺析

    集群行為是一種常見于自然界中魚群、鳥群、蜂群等低等群居生物的集體行為,受此啟發(fā)形成了無人機集群的概念。無人機集群不是多無人機間的簡單編隊,而是通過必要的控制策略使之產(chǎn)生集群協(xié)同效應(yīng),從而具備執(zhí)行復(fù)雜多變、危險任務(wù)的能力。目前無人機集群主要分為

    2024年02月16日
    瀏覽(93)
  • 分布式RPC框架Dubbo詳解

    分布式RPC框架Dubbo詳解

    目錄 ? 1.架構(gòu)演進 1.1 單體架構(gòu) 1.2? 垂直架構(gòu) 1.3 分布式架構(gòu) 1.4 SOA架構(gòu) 1.5 微服務(wù)架構(gòu) 2.RPC框架 2.1 RPC基本概念介紹 2.1.1 RPC協(xié)議 2.1.2 RPC框架 2.1.3 RPC與HTTP、TCP/ UDP、Socket的區(qū)別 2.1.4 RPC的運行流程 ?2.1.5 為什么需要RPC 2.2 Dubbo? 2.2.1 Dubbo 概述 2.2.2 Dubbo實戰(zhàn) ? 架構(gòu)演進如下圖: 這

    2024年02月07日
    瀏覽(38)
  • 分布式理論CAP、BASE和RPC

    CAP原則是指當分布式系統(tǒng)遇到網(wǎng)絡(luò)分區(qū)時,只能滿足其中兩個需求,一致性(Consistency)、可用性(Availability)和分區(qū)容錯性(Partition tolerance)。在實際系統(tǒng)中,我們常常會選擇在CA、CP或AP三者中做出取舍。 CA模型 CA模型要求分布式系統(tǒng)保持強一致性,即所有節(jié)點上的數(shù)據(jù)都

    2023年04月10日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包