远程过程调用(RPC)详解
1. 远程过程调用概述
远程过程调用(Remote Procedure Call,RPC)是一种在许多应用程序中广泛使用的机制。在这个机制中,涉及两个进程:发起调用的进程(调用者或客户端)和为该调用提供服务的进程(服务器)。这些进程通常位于不同的对象中,甚至可能处于不同的虚拟或物理机器上。从客户端的角度来看,远程过程调用是同步的,因为调用进程会等待调用返回结果。
在 JR 中,远程过程调用(或远程方法调用)通过操作的另一种应用来实现。发起远程过程调用时,调用进程会调用一个操作,而这个操作由一个方法来提供服务。调用远程方法会创建一个新的进程来处理该调用。远程过程调用在语法和语义上都类似于顺序过程调用,调用者通常不会察觉到服务调用的方法可能位于不同的虚拟或物理机器上。不过,远程过程调用通常比本地顺序过程调用耗时更长。
1.1 远程过程调用的机制
远程过程调用的机制包括操作 - 方法(即操作声明和方法)以及调用调用。调用方法的语义是创建一个新的进程来执行该方法的代码。发起调用后,调用进程会暂停,直到被调用进程返回结果。这种语义通常可以通过传统的过程调用实现,但在概念上,每次调用都会创建一个新的进程。
下面是一个简单的银行示例,用于说明远程过程调用:
// 银行账户类
class BankAccount {
// 存款操作
operation deposit(amount: int) {
// 存款逻辑
}
// 取款操作
operation withdraw(amount: int) {
// 取款逻辑
超级会员免费看
订阅专栏 解锁全文
622

被折叠的 条评论
为什么被折叠?



