Python知识分享网 - 专业的Python学习网站 学Python,上Python222
深入理解Dubbo框架:从基本原理到模拟实践的全面解析 PDF 下载
发布于:2024-02-07 12:24:16
(假如点击没反应,多刷新两次就OK!)

深入理解Dubbo框架:从基本原理到模拟实践的全面解析 PDF 下载   图1

 

 

 

资料内容:

 

什么是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类似想成为了⼀个服务框架。
⼦程序,⽽程序员就像调⽤本地程序⼀样,⽆需额外地为这个交互作⽤编程(⽆需关注细节)。RPC是
⼀种服务器-客户端(Client/Server)模式,经典实现是⼀个通过发送请求-接受回应进⾏信息交互的
系统。
如果涉及的软件采⽤⾯向对象编程,那么远程过程调⽤亦可称作远程调⽤或远程⽅法调⽤,例:Java
RMI。