時間:2019-04-16 14:39:50來源: 阿銘linux?
什么是RPC
RPC全稱RemoteProcedureCall——遠程過程調用。在學校學編程,我們寫一個函數都是在本地調用就行了。但是在互聯網公司,服務都是部署在不同服務器上的分布式系統(tǒng),如何調用呢?
RPC技術簡單說就是為了解決遠程調用服務的一種技術,使得調用者像調用本地服務一樣方便透明。
下圖是客戶端調用遠端服務的過程:
1)客戶端client發(fā)起服務調用請求。
2)clientstub可以理解成一個代理,會將調用方法、參數按照一定格式進行封裝,通過服務提供的地址,發(fā)起網絡請求。
3)消息通過網絡傳輸到服務端。
4)serverstub接受來自socket的消息
5)serverstub將消息進行解包、告訴服務端調用的哪個服務,參數是什么
6)結果返回給serverstub
7)severstub把結果進行打包交給socket
8)socket通過網絡傳輸消息
9)clientslub從socket拿到消息
10)clientstub解包消息將結果返回給client。
一個RPC框架就是把步驟2到9都封裝起來。
為什么需要RPC
1、首先要明確一點:RPC可以用HTTP協議實現,并且用HTTP是建立在TCP之上最廣泛使用的RPC,但是互聯網公司往往用自己的私有協議,比如鵝廠的JCE協議,私有協議不具備通用性為什么還要用呢?因為相比于HTTP協議,RPC采用二進制字節(jié)碼傳輸,更加高效也更加安全。
2、現在業(yè)界提倡“微服務“的概念,而服務之間通信目前有兩種方式,RPC就是其中一種。RPC可以保證不同服務之間的互相調用。即使是跨語言跨平臺也不是問題,讓構建分布式系統(tǒng)更加容易。
3、RPC框架都會有服務降級、流量控制的功能,保證服務的高可用。
聲明:本文為轉載類文章,如涉及版權問題,請及時聯系我們刪除(QQ: 2737591964),不便之處,敬請諒解!
標簽:
下一篇:皮爾磁:適合的才是最好的
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.surachana.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
相關資訊
產品新聞
更多>顛覆傳統(tǒng)加工!維宏VHTube一鍵實現變徑...
2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30
性能躍升20%!維宏NK300CX Plus數控系統(tǒng)...
2025-04-11