日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RPC的原理总结

發布時間:2023/12/6 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RPC的原理总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.RPC的引入

早期單機時代,一臺電腦上運行多個進程,大家各干各的,老死不相往來。假如A進程需要一個畫圖的功能,B進程也需要一個畫圖的功能,程序員就必須為兩個進程都寫一個畫圖的功能。這不是整人么?于是就出現了IPC(Inter-process communication,單機中運行的進程之間的相互通信)。OK,現在A既然有了畫圖的功能,B就調用A進程上的畫圖功能好了,程序員終于可以偷下懶了。
到了網絡時代,大家的電腦都連起來了。以前程序只能調用自己電腦上的進程,能不能調用其他機器上的進程呢?于是就程序員就把IPC擴展到網絡上,這就是RPC(遠程過程調用)了?,F在不僅單機上的進程可以相互通信,多機器中的進程也可以相互通信了。
要知道實現RPC很麻煩呀,什么多線程、什么Socket、什么I/O,都是讓咱們普通程序員很頭疼的事情。于是就有牛人開發出RPC框架(比如,CORBA、RMI、Web Services、RESTful Web Services等等)。
通過以上內容,現在可以定義RPC框架的概念了。簡單點講,RPC框架就是可以讓程序員來調用遠程進程上的代碼一套工具。有了RPC框架,咱程序員就輕松很多了,終于可以逃離多線程、Socket、I/O的苦海了。

二.RPC進一步解釋

RPCRemote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如TCPUDP,為通信程序之間攜帶信息數據。在OSI網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網絡分布式多程序在內的應用程序更加容易。

RPC采用客戶機/服務器模式。請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,客戶機調用進程發送一個有進程參數的調用信息到服務進程,然后等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息到達為止。當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,然后等待下一個調用信息,最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用執行繼續進行。

三.RPC原理圖和對應的步驟:

運行時,一次客戶機對服務器的RPC調用,其內部操作大致有如下十步:

1.調用客戶端句柄;執行傳送參數

2.調用本地系統內核發送網絡消息

3.消息傳送到遠程主機

4.服務器句柄得到消息并取得參數

5.執行遠程過程

6.執行的過程將結果返回服務器句柄

7.服務器句柄返回結果,調用遠程系統內核

8.消息傳回本地主機

9.客戶句柄由內核接收消息

10.客戶接收句柄返回的數據

三.RPC的代碼實現:

?暫時不貼了。。。。。。?;仡^有時間再弄。。。

?


本文轉自SummerChill博客園博客,原文鏈接:http://www.cnblogs.com/DreamDrive/p/7505891.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的RPC的原理总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。