技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術頻道 > 技術百科 > 什么是RPC?為什么需要RPC?

什么是RPC?為什么需要RPC?

時間:2019-04-16 14:39:50來源: 阿銘linux?

導語:?RPC全稱RemoteProcedureCall——遠程過程調(diào)用。在學校學編程,我們寫一個函數(shù)都是在本地調(diào)用就行了。但是在互聯(lián)網(wǎng)公司,服務都是部署在不同服務器上的分布式系統(tǒng),如何調(diào)用呢?

什么是RPC

RPC全稱RemoteProcedureCall——遠程過程調(diào)用。在學校學編程,我們寫一個函數(shù)都是在本地調(diào)用就行了。但是在互聯(lián)網(wǎng)公司,服務都是部署在不同服務器上的分布式系統(tǒng),如何調(diào)用呢?

RPC技術簡單說就是為了解決遠程調(diào)用服務的一種技術,使得調(diào)用者像調(diào)用本地服務一樣方便透明。

下圖是客戶端調(diào)用遠端服務的過程:

pIYBAFy1XvyAc-tKAAByuWV5HaI964.png 

1)客戶端client發(fā)起服務調(diào)用請求。

2)clientstub可以理解成一個代理,會將調(diào)用方法、參數(shù)按照一定格式進行封裝,通過服務提供的地址,發(fā)起網(wǎng)絡請求。

3)消息通過網(wǎng)絡傳輸?shù)椒斩恕?/p>

4)serverstub接受來自socket的消息

5)serverstub將消息進行解包、告訴服務端調(diào)用的哪個服務,參數(shù)是什么

6)結果返回給serverstub

7)severstub把結果進行打包交給socket

8)socket通過網(wǎng)絡傳輸消息

9)clientslub從socket拿到消息

10)clientstub解包消息將結果返回給client。

一個RPC框架就是把步驟2到9都封裝起來。

為什么需要RPC

1、首先要明確一點:RPC可以用HTTP協(xié)議實現(xiàn),并且用HTTP是建立在TCP之上最廣泛使用的RPC,但是互聯(lián)網(wǎng)公司往往用自己的私有協(xié)議,比如鵝廠的JCE協(xié)議,私有協(xié)議不具備通用性為什么還要用呢?因為相比于HTTP協(xié)議,RPC采用二進制字節(jié)碼傳輸,更加高效也更加安全。

2、現(xiàn)在業(yè)界提倡“微服務“的概念,而服務之間通信目前有兩種方式,RPC就是其中一種。RPC可以保證不同服務之間的互相調(diào)用。即使是跨語言跨平臺也不是問題,讓構建分布式系統(tǒng)更加容易。

3、RPC框架都會有服務降級、流量控制的功能,保證服務的高可用。


聲明:本文為轉載類文章,如涉及版權問題,請及時聯(lián)系我們刪除(QQ: 2737591964),不便之處,敬請諒解!

標簽:

點贊

分享到:

上一篇:為噴碼機設備提供西門子PLC編...

下一篇:皮爾磁:適合的才是最好的

中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.connectcrack.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

相關資訊

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號