什么是远程调用?图文简要介绍

简介: 什么是远程调用?图文简要介绍

一、背景描述

什么是远程调用,网上一搜,有很多文章在讲解,但是感觉都讲的很深奥,对于初学者并不友好,下面是一种让我看到后,有一种豁然开朗的感觉的介绍方式。

二、概念介绍

函数接口调用方式分为:

  • 本地调用(Local Procedure Call,简称LPC)。
  • 远程调用(Remote Procedure Call,简称RPC)。

下面是用C语言写的一个示例程序:

  • 本地调用:通常,在我们的代码中调用一个函数,这个函数要么是系统API,要么是我们自己实现的本地代码,一起编译,一起发布,也在同一个进程中一起执行,这就是本地调用!
  • 远程调用:被调用方法的具体实现不在同一个进程,而是在别进程,甚至别的电脑上。RPC一个重要思想就是,使远程调用看起来像本地调用一样,调用者无需知道被调用接口具体在哪台机器上执行。

三、远程调用原理

比如 A (client) 调用 B (server) 提供的remoteAdd()方法,以下是步骤:

  • Step1、首先A与B之间建立连接(通常是TCP,但还有其他的,如HTTP、管道等);
  • Step2、然后A把需要调用的方法名(这里是remoteAdd)以及方法参数(10, 20)序列化成字节流发送出去;
  • Step3、B接受A发送过来的字节流,然后反序列化得到方法名,方法参数,接着执行相应的方法调用并把结果30返回;
  • Step4、A接受远程调用结果,输出30。

通过上面的简单阐述,远程调用与socket通讯非常像啊,都是远程通讯,都是C/S模式。但是他们两者到底有啥区别?

  1. RPC在提供强大的远程调用能力的同时,不损失本地调用的语义简洁性。RPC一个重要思想就是:使远程调用看起来像本地调用一样。
  2. socket是RPC经常采用的通信手段之一,除了Socket,RPC还有其他的通信方法,比如:http、操作系统自带的管道等。

 

完结!


相关文章
|
4月前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
119 0
|
4月前
|
缓存 JSON 安全
【Uniapp 专栏】Uniapp 与后端接口对接的实战要点
【5月更文挑战第12天】在 Uniapp 项目开发中,成功对接后端接口至关重要。要点包括:深入理解后端提供的接口文档,确保数据格式(如 JSON)正确处理,选择合适的请求方式(如 GET、POST),设置正确的请求头,做好错误处理和数据缓存策略,确保安全性(如使用 HTTPS 和令牌验证)并进行全面测试。同时,进行版本管理和团队协作,与后端开发人员保持良好沟通,以实现高效、稳定的接口对接。
444 5
|
4月前
|
数据可视化 数据挖掘 物联网
API接口:原理、设计与应用
随着互联网技术的发展,应用程序之间的交互变得越来越频繁。API(应用程序编程接口)作为不同应用程序之间的桥梁,发挥着越来越重要的作用。本文将详细介绍API接口的原理、设计与应用,并通过部分代码示例帮助读者更好地理解。
|
10月前
|
小程序
小程序订阅消息推送简要流程图
小程序订阅消息推送简要流程图
87 0
小程序订阅消息推送简要流程图
|
API C#
【C#编程最佳实践 二十三】如何将接口生成接口文档
【C#编程最佳实践 二十三】如何将接口生成接口文档
368 0
【C#编程最佳实践 二十三】如何将接口生成接口文档
|
负载均衡 前端开发 Java
项目实战典型案例3——fegin调用404情况
项目实战典型案例3——fegin调用404情况
523 0
【项目实战典型案例】03.fegin调用404情况
【项目实战典型案例】03.fegin调用404情况
|
XML JSON Java
深入探究API接口
API接口作为程序员与外部应用程序交互的桥梁,对于开发工作至关重要。在本文中,我们了解了API接口的定义、类型、使用场景,以及常见的调用方式和相关技术知识。希望本文能够帮助读者更好地掌握和应用API接口,为开发工作带来便利和效率提升。
|
JSON 数据挖掘 API
探索API接口:从概念到实践
在当今数字化时代,API(Application Programming Interface)接口成为了各种应用程序之间实现数据交互和功能集成的关键。无论是开发一个网站、构建一个移动应用还是进行数据分析,了解如何调用API接口是必不可少的技术。
|
测试技术 数据库
gRPC阅读日记(三)rpc请求官方用例的实现
gRPC阅读日记(三)rpc请求官方用例的实现