博客
关于我
RPC入门了解
阅读量:667 次
发布时间:2019-03-15

本文共 901 字,大约阅读时间需要 3 分钟。

远程过程调用(RPC)概述

远程过程调用(RPC)是一种技术协议,允许一个程序在不了解网络细节的情况下,将请求发送到网络上的另一台计算机上的程序。这种机制使得客户端能够轻松调用远程系统上的其他进程。

RPC是什么?

RPC一种将本地程序的操作扩展到远程系统的方式,其工作模式基于客户端-服务器模型。与传统本地过程调用不同,RPC需要客户端暂停并等待远程程序的返回值。这一点使得它更适合处理同步操作,但当涉及到对多个RPC请求的并发处理时,使用轻量级的进程或线程会更高效。

RPC的工作原理

RPC过程可以分为几个阶段:

  • 客户端调用存根程序:客户端将本地存根程序激活,并将请求参数推送至堆栈。
  • 数据打包与传递:存根程序将参数打包成消息,并通过本地OS发送到远程服务器。
  • 远程处理:服务器侧的存根程序接收消息,解组参数,并系统调用对应的远程程序进行处理。
  • 结果返回:处理完成后,服务器存根程序将结果封装并通过网络返回客户端。
  • RPC的五种类型

    RPC可操作的方式有多种:

  • 阻塞调用:客户端在发送请求后会被阻塞,直到接收到远程程序的返回结果。
  • 非阻塞调用:客户端可以继续处理其他操作,只需等待远程完成后进行处理。
  • 批处理:客户端可以对多个远程调用进行批量操作,提高效率。
  • 广播调用:客户端可以将同一消息发送至多个服务器,接收所有结果进行处理。
  • 关联调用:通过指定机制确保客户端能够跟踪特定的远程调用并接收相关返回值。
  • RPC的优点

  • 简化接口定义:利用IDL明确接口规范,便于跨平台兼容性,隐藏复杂性的消息传递。
  • 高效通信:通过省略传输层协议,提升性能。
  • 灵活性:支持流程和线程模型的切换。
  • 易用性:用户无需深入了解网络细节。
  • 可扩展性:适合分布式环境和本地使用。
  • RPC的缺点

  • 资源管理复杂性:跨机器的资源访问可能导致问题。
  • 通信错误敏感:因依赖网络传输,易受环境影响。
  • 实现多样性:由于无统一标准,实现方式各不相同。
  • 性能瓶颈:传输大量数据可能导致效率下降。
  • RPC技术通过简化远程调用流程,使得开发者能够方便地在分布式环境中对多种系统进行操作,同时它的客户端存根机制能够有效地桥梁不同操作系统之间的差异。

    转载地址:http://hqsmz.baihongyu.com/

    你可能感兴趣的文章
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node环境下使用import引入外部文件出错
    查看>>
    node编译程序内存溢出
    查看>>
    Node读取并输出txt文件内容
    查看>>
    node防xss攻击插件
    查看>>
    noi 1996 登山
    查看>>
    noi 7827 质数的和与积
    查看>>
    NOIp2005 过河
    查看>>
    NOIP2011T1 数字反转
    查看>>
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    NOIp模拟赛二十九
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>