感谢: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线程