RPC介绍

先官方的给大家介绍几句:RPC是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。

名词解释: 远程过程调用 远程过程 ,调用

名词解释: 远程过程 消费者调用后台提供者方法时,后台的执行业务的过程.

定义:分布式系统中系统之间的通信的方式称之为RPC,远程过程调用。无需关注通信具体协议细节.可以利用RPC工具直接获取远程服务器数据。

通熟的讲就是

  1. 本地调用某个函数方法;
  2. 本地机器的RPC框架把这个调用信息封装起来(调用的函数、入参等),序列化(json、xml等)后,通过网络传输发送给远程服务器;
  3. 远程服务器收到调用请求后,远程机器的RPC框架反序列化获得调用信息,并根据调用信息定位到实际要执行的方法,执行完这个方法后,序列化执行结果,通过网络传输把执行结果发送回本地机器;
  4. 本地机器的RPC框架反序列化出执行结果,函数return这个结果。

服务调用端(本地机器):

rpc是什么请求(通俗的讲什么是RPC)(1)

服务提供端(远程机器)

rpc是什么请求(通俗的讲什么是RPC)(2)

当然我这还有一种特通俗的讲法

“老公,什么是RPC呀,为什么你们程序员那么多黑话!”,老婆还是一如既往的好奇。 “RPC,就是Remote ProcedureCall的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。“啥?你在说啥?谁不知道翻译成中文是什么意思?你个废柴,快给我滚去洗碗!”“我去。。。”,我如梦初醒,我对面坐着的可不是一个程序员,为了不去洗碗,我瞬间调动起全部脑细胞,星辰大海在我脑中汇聚,灵感涌现......."是这样,远程过程调用,自然是相对于本地过程调用来说的嘛。" “嗯哼,那先给老娘讲讲,本地过程调用是啥子?”“本地过程调用,就好比你现在在家里,你要想洗碗,那你直接把碗放进洗碗机,打开洗碗机开关就可以洗了。这就叫本地过程调用。”“哎呦,我可不干,那啥是远程过程调用?”“远程嘛,那就是你现在不在家,跟姐妹们浪去了,突然发现碗还没洗,打了个电话过来,叫我去洗碗,这就是远程过程调用啦”,多么通俗易懂的解释,我真是天才!.“哦!我明白了”,说着,老婆开始收拾包包。 “你这是干啥去哦”“我?我要出门浪去呀,待会记得接收我的远程调用哦,哦不,咱们要专业点,应该说,待会记得接收我的RPC哦!”

你觉得如何,是不是比那些大道理更加入耳!!!

转自:https://my.oschina.net/u/4115134/blog/3213628

,