一.什么是Dubbo,什么是RPC?
Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底>层网络技术的协议。
1.远程调用就是本地机器调用远程机器的一个方法,远程机器返回结果的过程。
2.现在流行的RPC 框架,都会采用TCP 作为底层传输协议。RPC 强调的是过程调用,调用的过程对用户而言是是透明的,用户不需要关心调用的细节,可以像调用本地服务一样调用远程服务
3.目前单机服务已经无法满足更多的流量需求,只有多台服务器才能支撑现有的体系,因此服务越来越多,出现了微服务的RPC框架
二.Duboo的作用
Dubbo分为三层,第一层的business业务逻辑为自己实现的一些接口或者配置信息
第二层是RPC部分,做一些调用过程,负载,集群容错,代理等功能
第三层Remoting为网络协议和数据转换的封装等
主要有以下功能。
智能容错和负载均衡。(1.加权随机 2.最小活跃数 3.一致性hash 4.加权轮询 5.最短时间权重响应)
服务自动注册和发现。
高度可扩展能力。
运行期流量调度。
可视化的服务治理与运维。
三.Dubbo和SpringCloud的区别
Dubbo 是SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,
Dubbo 定位服务治理、Spirng Cloud 是一个生态。
两者最大的区别是Dubbo 底层是使用Netty 这样的NIO 框架,是基于TCP 协议传输的,配合以Hession 序列化完成RPC 通信。而SpringCloud 是基于Http 协议+Rest 接口调用远程过程的通信,相对来说,Http 请求会有更大的报文,占的带宽也会更多。但是REST 相比RPC 更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖。
标签:Dubbo,Duubo,调用,服务,框架,Rpc,RPC,理解,远程 From: https://www.cnblogs.com/developS/p/17636086.html