通过前面的学习,不知道你有没有发现分布式的本质就是多进程协作,共同完成任务。要协作,自然免不了通信。那么,多个进程之间是如何通信的呢?这也就是在“分布式通信技术”模块中,我将要为你讲解的问题。
话不多说,接下来我们就一起进入分布式通信的世界吧。今天,我首先带你打卡的是,分布式通信中的远程调用。
什么是远程调用?
首先,我通过一个例子,来让你对远程调用和本地调用有一个直观了解。
以电商购物平台为例,每一笔交易都涉及订单系统、支付系统及库存系统,假设三个系统分别部署在三台机器 A、B、C 中独立运行,订单交易流程如下所示:
-
用户下单时,调用本地(机器 A)的订单系统进行下单;
-
下单完成后,会远程调用机器 B 上的支付系统进行支付,待支付完成后返回结果,之后在本地更新订单状态;
-
在本地远程调用机器 C 上的仓库系统出货,出货完成后返回出货结果。
在整个过程中,“下单”和“订单状态更新”两个操作属于本地调用,而“支付”和“出货”这两个操作是通过本地的订单系统调用其他两个机器上的函数(方法)实现的,属于远程调用。

通过这个例子,你应该对本地调用和远程调用有了一个初步的认识了。那到底什么是本地调用,什么是远程调用呢?
本地调用通常指的是,进程内函数之间的相互调用;而远程调用,是进程间函数的相互调
本文介绍了分布式通信中的远程调用,特别是RPC(Remote Procedure Call)原理和应用。通过电商购物平台的例子,解释了本地调用和远程调用的概念。RPC的核心是通过调用本机上的Stub来执行远程机器上的服务,隐藏了通信细节。文章还对比了RPC和RMI(Remote Method Invocation),并提到了Dubbo作为RPC框架的实现。最后,讨论了远程调用的同步和异步调用模式。
订阅专栏 解锁全文

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



