ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

什么是RPC

2021-12-28 13:30:57  阅读:147  来源: 互联网

标签:Dubbo 服务 框架 什么 RPC 远程 法调


维基百科是这么定义RPC的: 在 分布式计算 ,远程过程调⽤(英语:Remote Procedure Call,缩写为 RPC)是⼀个计算机通信 协议 。该协议允许运⾏于⼀台计算机的 程序 调⽤另⼀个 地址空间 (通常为⼀个开放⽹络的⼀台计算机)的 ⼦程序 ,⽽程序员就像调⽤本地程序⼀样,⽆需额外地为这个交互作⽤编程(⽆需关注细节)。RPC是⼀种服务器-客户端(Client/Server)模式,经典实现是⼀个通过发送请求-接受回应进⾏信息交互的系统。 如果涉及的软件采⽤ ⾯向对象编程 ,那么远程过程调⽤亦可称作远程调⽤或远程⽅法调⽤,例: Java RMI 。 所以,对于Java程序员⽽⾔,RPC就是远程⽅法调⽤。 远程⽅法调⽤和本地⽅法调⽤是相对的两个概念,本地⽅法调⽤指的是进程内部的⽅法调⽤,⽽远程⽅法调⽤指的是两个进程内的⽅法相互调⽤。 如果实现远程⽅法调⽤,基本的就是通过⽹络,通过传输数据来进⾏调⽤。 所以就有了: 1. RPC over Http:基于Http协议来传输数据 2. PRC over Tcp:基于Tcp协议来传输数据 对于所传输的数据,可以交由RPC的双⽅来协商定义,但基本都会包括: 1. 调⽤的是哪个类或接⼝ 2. 调⽤的是哪个⽅法,⽅法名和⽅法参数类型(考虑⽅法重载) 3. 调⽤⽅法的⼊参 所以,我们其实可以看到RPC的⾃定义性是很⾼的,各个公司内部都可以实现⾃⼰的⼀套RPC框架,⽽Dubbo就是阿⾥所开源出来的⼀套RPC框架。 什么是Dubbo 官⽹地址: http://dubbo.apache.org/zh/ ⽬前,官⽹上是这么介绍的:Apache Dubbo 是⼀款⾼性能、轻量级的开源 Java 服务 框架 在⼏个⽉前,官⽹的介绍是:Apache Dubbo 是⼀款⾼性能、轻量级的开源 Java RPC 框架 为什么会将RPC改为服务? Dubbo⼀开始的定位就是RPC,专注于两个服务之间的调⽤。但随着微服务的盛⾏,除开服务调⽤之外,Dubbo也在逐步的涉猎服务治理、服务监控、服务⽹关等等,所以现在的Dubbo⽬标已经不⽌是RPC框架了,⽽是和Spring Cloud类似想成为了⼀个服务框架。 2 Dubbo⽹关参考: https://github.com/apache/dubbo-proxy (社区不是很活跃) 基本原理

 

开源RPC框架对⽐ 

 

标签:Dubbo,服务,框架,什么,RPC,远程,法调
来源: https://blog.csdn.net/chuixue24/article/details/122191125

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有