感謝:https://www.zhihu.com/question/25536695網絡
不管是在閱讀MapReduce、Brog論文的時候仍是在日常的學習中,RPC都是一個高頻詞,由於沒有影響到大致上對知識的理解,一直以來沒有去了解,止步於百度百科晦澀難懂的解釋。今天看到一些通俗易懂的解釋,特此記錄一下。多線程
1、什麼是RPC:框架
RPC全稱是Remote Procedure Call,遠程過程調用,即機器A上的一個應用經過網絡連接來使用機器B上的函數socket
2、爲何須要RPC:函數
早期單片機時代,一個機器上能夠安排多個進程,進程A須要計算乘法,須要寫一個Multiply函數,進程B也須要計算乘法,也寫一個Multiply函數。因而出現了IPC,同一臺主機上的不一樣進程之間能夠進行通訊了,後來網絡時代,你們的電腦連接在一塊兒,因而出現了RPC,A主機上的應用能夠調用B主機上的函數,也就是不一樣主機之間的進程之間能夠進行通訊了,有人把這個功能封裝起來,包含了I/O,socket,多線程之類的,稱爲RPC框架。學習
3、遠程調用過程:spa
轉自:https://www.zhihu.com/people/yongxinge/activities線程