什么是RPC?

发布网友

我来回答

1个回答

热心网友

RPC是指远程过程调用。

RPC是指远程过程调用,也就是说两台服务器A、B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

RPC的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构,基于stub的结构来实现。

本地调用和RPC调用的差异

无论RPC怎样努力把远程调用伪装的像本地调用,但它们依然有很大的不同点,而且有一些异常情况是在本地调用时绝对不会碰到的。在说异常处理之前,我们先比较下本地调用和RPC调用的一些差异:

1、本地调用一定会执行,而远程调用则不一定,调用消息可能因为网络原因并未发送到服务方。

2、本地调用只会抛出接口声明的异常,而远程调用还会跑出RPC框架运行时的其他异常。

3、本地调用和远程调用的性能可能差距很大,这取决于RPC固有消耗所占的比重。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com