远程函数调用(RPC)
实际上就是一个系统提供可供其他系统调用的函数,当其他系统传输正确的参数并调用相应函数,则可以在该系统中执行相应的系统功能。这就是最为常见的,使用远程函数调用的系统接口方式。
系统间数据交互的目的,就是一个系统中的功能执行结果,以数据的形式被被传输到另外一个系统,并在利用此结果数据,在另外这个系统中执行相应的系统功能。
远程函数调用(RFC)这种接口模式,就是数据会直接传输相应系统,并在此系统中直接执行系统功能。
我们可以形象的理解为,被调用的系统A,将其系统的账号和密码交给了外部系统B,外部系统B在必要时,会登陆到A系统中,用系统B中的正确参数,也就是数据,去执行A系统中的系统功能。
RPC需要解决的问题
- 函数映射:如何将路由与函数对应
- 数据转换成字节流:数据如何转换成字节流进行传输
- 网络传输:保证机器之间的通信
RPC 功能目标
RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。 RPC 异常处理 无论 RPC 怎样努力把远程调用伪装的像本地调用,但它们依然有很大的不同点,而且有一些异常情况是在本地调用时绝对不会碰到的。在说异常处理之前,我们先比较下本地调用和 RPC 调用的一些差异: