遠端過程呼叫(remote procedure call,rpc)。
一、rpc原理
簡單的說,rpc主是允許程式呼叫位於其他機器上的過程(也可以是一台機器的不同程序)。當機器a上的程序呼叫機器b上的程序時,a上的呼叫程序被掛起,而b上的被呼叫程序開始執行。呼叫方使用引數將資訊傳送給被呼叫方,然後通過傳回的結果得到資訊。在這個過程中,a是rpc客戶,b是rpc伺服器。同時,程式設計人員看不到任何訊息的傳遞,其行為如果乙個過程到別乙個過程 的呼叫一樣。
常規過程呼叫,如下圖所示。
int main(...)
int func(p1, p2, ... , pn)
rpc跨越不同進行,其呼叫過程如下圖所示。
二、rpc機制的實現
rpc引入客戶存根(client stub)和伺服器骨架(server skeleton)。其實現過程一般如下圖所示。
上述rpc實現的精彩之處在於:客戶方可以簡單地忽略不需要關心的內容,客戶只要呼叫乙個普通的、本地的過程,就可以訪問遠端服務,不需要呼叫send或receive這些底層操作,所有的訊息傳遞細節都隱藏在rpc的庫過程中,就如同傳統庫中隱藏了執行實際系統呼叫的細節一樣。
如果呼叫介面確定,上述過程的很多元件都 可以自動生成,rpc通過介面定義語言(inte***ce definition language, idl)描述呼叫介面的詳細資訊。idl檔案可以包含型別定義、常量宣告、進行引數傳遞時需要的一些其他資訊和注釋。
idl檔案編寫客戶端和伺服器**、編譯、連線,就可以得到客戶程式和伺服器程式。完成乙個包含rpc的應用程式的開發。
Hadoop技術內幕 Hadoop配置資訊處理
1.hadoop配置檔案 使用org.apache.hadoop.conf.configuration處理配置資訊,並採用xml格式,資源合併 比如core default.xml和core site.xml而言,若前乙個檔案沒有設定final,則後乙個檔案的內容將會覆蓋前者中的同名配置 否則當載入...
《hadoop技術內幕 深入解析YARN架構設計》
hadoop技術內幕 深入解析yarn架構設計 本書是 hadoop技術內幕 系列的第3本書,前面兩本分別對common hdfs和mapreduce進行了深入分析和講解,贏得了極好的口碑,hadoop領域幾乎人手一冊,本書則對yarn展開了深入的 是首部關於yarn的專著。仍然由資深hadoop技...
Hadoop 遠端過程呼叫
hadoop ipc類圖如下 連線 font size 14px 為了提高通訊效率,連線是可以復用的,通過connectionid來區分不同的連線 class connectionid connectionheader類是客戶端和服務端tcp連線建立之後交換的第一條訊息,包括connectionid...