当前位置:网站首页>什么是RPC
什么是RPC
2022-04-23 07:48:00 【weixin_46272577】
什么是RPC
以下摘自百度百科
远程过程调用协议
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底>层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络>通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发>送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为>止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户>端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
有多种 RPC模式和执行。最初由 Sun 公司提出。IETF ONC 宪章重新修订了 Sun 版本,使得 ONC RPC 协议成为 >IETF 标准协议。现在使用最普遍的模式和执行是开放式软件基础的分布式计算环境(DCE)。
术语可能有复杂,那我们要怎么去理解RPC呢?
我眼中的RPC
服务提供者提供 ---- 消费者消费
服务提供者在青岛捞海鲜,消费者坐在新疆的餐馆里点了一盘麻辣小龙虾
这中间的过程就是RPC
存在即合理,复杂的东西之所以能持续存在并发展不是无缘无故的,更不是因为高手们故弄玄虚,主要是它能带来某些明显的好处,你对这些东西掌握的越熟练,你会越喜欢它。关于RPC,很早以前的RPC也有其他几种比如DCOM,CORBA,RMI(Java)AXIS等,现在花样就多了去了,基本道理都是用XML或者JSON来传递调用参数和结果。个人体会主要用到的优势是如下几点:
RPC能够跨多种开发工具及平台,比如说企业已有的系统开发完毕或者子系统已经部署交付了,它提供了RPC接口,新的子系统要集成,使用业界通用的RPC接口就可以集成了,你不可能要求原来的开发商再来修改一遍接口,否则的话就变成了信息孤岛;
RPC能够跨多个服务器,这个在其他计算机上很容易透过80端口的RPC来访问各个服务器。其他如TCP消息来访问,尽管高效但不方便而且还要穿透防火墙,尤其不方便网页集成。
举个栗子
远程调用简单说就是发送一个请求给远程机器,远程机器返回一个结果回来的过程,为什么要这么做,单台服务器的性能远远不能满足现在互联网这个体量的用户的需求,就好比你去肯德基点个餐,餐台的服务员把薯条鸡腿汉堡的任务分给不同的人,然后收集起来给你的过程,餐台服务员就相当于调用远程服务.
但假如不这么做,点餐员直接做这些事情(又得点餐,又得炸薯条,炸鸡腿等等),两相比较,你就知道远程调用有什么好处了
简单来说就是无法在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如比如不同的系统间的通讯,甚至不同的组织间的通讯。由于计算能力需要横向扩展,需要在多台机器组成的集群上部署应用。
RPC优缺点
RPC的优点:
- 提升系统可扩展性
- 提升系统可维护性和持续交付能力
- 实现系统高可用
RPC的缺点:
- 一个完善的RPC框架开发难度大,需要人员配置多
- RPC框架调用成功率受限于网络状况
- 调用远程方法对初学者来说难度大
版权声明
本文为[weixin_46272577]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_46272577/article/details/124357151
边栏推荐
- Somme numérique de la chaîne de calcul pour un problème simple de leetcode
- The third divisor of leetcode simple question
- How to encrypt devices under the interconnection of all things
- WordPress爱导航主题 1.1.3 简约大气网站导航源码网址导航源码
- ajax防止缓存方法
- Weekly leetcode - 06 array topics 7 ~ 739 ~ 50 ~ offer 62 ~ 26 ~ 189 ~ 9
- Kubernetes in browser and IDE | interactive learning platform killercoda
- The whole house intelligence bet by the giant is driving the "self revolution" of Hisense, Huawei and Xiaomi
- Compiler des questions de principe - avec des réponses
- vmware 搭建ES8的常见错误
猜你喜欢
CGM优化血糖监测管理——移宇科技亮相四川省国际医学交流促进会
程序,进程,线程;内存结构图;线程的创建和启动;Thread的常用方法
5.6 comprehensive case - RTU-
青苹果影视系统源码 影视聚合 影视导航 影视点播网站源码
CSV column extract column extraction
WordPress爱导航主题 1.1.3 简约大气网站导航源码网址导航源码
The whole house intelligence bet by the giant is driving the "self revolution" of Hisense, Huawei and Xiaomi
vslam PPT
Install MySQL for Ubuntu and query the average score
Data security has become a hidden danger. Let's see how vivo can make "user data" armor again
随机推荐
Multi vision slam
Qt编译QtXlsx库
excle加水印
作文以记之 ~ 二叉树的后序遍历
synchronized 实现原理
Qt利用QtXlsx操作excel文件
CGM优化血糖监测管理——移宇科技亮相四川省国际医学交流促进会
jsp页面编码
Generate and parse tokens using JWT
The third divisor of leetcode simple question
nn.Module类的讲解
Somme numérique de la chaîne de calcul pour un problème simple de leetcode
colorui 解决底部导航遮挡内容问题
Talk about the basic but not simple stock data
How to encrypt devices under the interconnection of all things
线程的调度(优先级)
Notes on English class (4)
Green apple film and television system source code film and television aggregation film and television navigation film and television on demand website source code
作文以记之 ~ 二叉树的前序遍历
分组背包呀