真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RPC框架原理是什么

這篇文章主要講解了“RPC框架原理是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“RPC框架原理是什么”吧!

成都創(chuàng)新互聯(lián)長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐滿企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,豐滿網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

什么是 RPC ?

RPC 是一種框架或者說一種架構(gòu),主要目標(biāo)就是讓遠(yuǎn)程服務(wù)調(diào)用更簡(jiǎn)單、透明,調(diào)用遠(yuǎn)程就像調(diào)用本地一樣。

百度百科解釋:

RPC(Remote Procedure Call) - 遠(yuǎn)程過程調(diào)用,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。

什么情況下使用 RPC ?

如果我們開發(fā)簡(jiǎn)單的應(yīng)用,業(yè)務(wù)流程簡(jiǎn)單、流量不大,根本用不著 RPC。

當(dāng)我們的應(yīng)用訪問量增加和業(yè)務(wù)增加時(shí),發(fā)現(xiàn)單機(jī)已無法承受,此時(shí)可以根據(jù)不同的業(yè)務(wù)(劃分清楚業(yè)務(wù)邏輯)拆分成幾個(gè)互不關(guān)聯(lián)的應(yīng)用,分別部署在不同的機(jī)器上,此時(shí)可能也不需要用到 RPC 。

隨著我們的業(yè)務(wù)越來越多,應(yīng)用也越來越多,應(yīng)用與應(yīng)用相互關(guān)聯(lián)調(diào)用,發(fā)現(xiàn)有些功能已經(jīng)不能簡(jiǎn)單劃分開,此時(shí)可能就需要用到 RPC。

比如,我們開發(fā)電商系統(tǒng),需要拆分出用戶服務(wù)、商品服務(wù)、優(yōu)惠券服務(wù)、支付服務(wù)、訂單服務(wù)、物流服務(wù)、售后服務(wù)等等,這些服務(wù)之間都相互調(diào)用,這時(shí)內(nèi)部調(diào)用最好使用 RPC ,同時(shí)每個(gè)服務(wù)都可以獨(dú)立部署,獨(dú)立上線。

也就說當(dāng)我們的項(xiàng)目太大,需要解耦服務(wù),擴(kuò)展性強(qiáng)、部署靈活,這時(shí)就要用到 RPC ,主要解決了分布式系統(tǒng)中,服務(wù)與服務(wù)之間的調(diào)用問題。

RPC 框架原理

RPC框架原理是什么

RPC 架構(gòu)主要包括三部分:

  • 服務(wù)注冊(cè)中心(Registry),負(fù)責(zé)將本地服務(wù)發(fā)布成遠(yuǎn)程服務(wù),管理遠(yuǎn)程服務(wù),提供給服務(wù)消費(fèi)者使用。

  • 服務(wù)提供者(Server),提供服務(wù)接口定義與服務(wù)實(shí)現(xiàn)類。

  • 服務(wù)消費(fèi)者(Client),通過遠(yuǎn)程代理對(duì)象調(diào)用遠(yuǎn)程服務(wù)。

服務(wù)提供者啟動(dòng)后主動(dòng)向服務(wù)注冊(cè)中心(Registry)注冊(cè)機(jī)器IP、端口以及提供的服務(wù)列表;

服務(wù)消費(fèi)者啟動(dòng)時(shí)向服務(wù)注冊(cè)中心(Registry)獲取服務(wù)提供方地址列表。

服務(wù)注冊(cè)中心(Registry)可實(shí)現(xiàn)負(fù)載均衡和故障切換。

RPC 調(diào)用過程

RPC框架原理是什么

(1) 客戶端(client)以本地調(diào)用方式調(diào)用服務(wù);

(2) 客戶端存根(client stub)接收到調(diào)用后,負(fù)責(zé)將方法、參數(shù)等組裝成能夠進(jìn)行網(wǎng)絡(luò)傳輸?shù)南Ⅲw(將消息體對(duì)象序列化為二進(jìn)制);

(3) 客戶端通過 sockets 將消息發(fā)送到服務(wù)端;

(4) 服務(wù)端存根(server stub)收到消息后進(jìn)行解碼(將消息對(duì)象反序列化);

(5) 服務(wù)端存根(server stub)根據(jù)解碼結(jié)果調(diào)用本地的服務(wù);

(6) 本地服務(wù)執(zhí)行并將結(jié)果返回給服務(wù)端存根(server stub);

(7) 服務(wù)端存根(server stub)將返回結(jié)果打包成消息(將結(jié)果消息對(duì)象序列化);

(8) 服務(wù)端(server)通過 sockets 將消息發(fā)送到客戶端;

(9) 客戶端存根(client stub)接收到結(jié)果消息,并進(jìn)行解碼(將結(jié)果消息發(fā)序列化);

(10) 客戶端(client)得到最終結(jié)果。

RPC 就是要把 2、3、4、7、8、9 這些步驟都封裝起來。

RPC 優(yōu)點(diǎn)

  • 跨語言(C++、PHP、Java、Python ...)

  • 協(xié)議私密,安全性較高

  • 數(shù)據(jù)傳輸效率高

  • 支持動(dòng)態(tài)擴(kuò)展

RPC 缺點(diǎn)

一個(gè)完善的 RPC框架 開發(fā)難度大,需要的專業(yè)人員比較多,對(duì)初學(xué)者難度比較大。

感謝各位的閱讀,以上就是“RPC框架原理是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)RPC框架原理是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


文章名稱:RPC框架原理是什么
標(biāo)題URL:http://weahome.cn/article/poggip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部