以下发言仅是个人观点!!!
Dubbo是什么?
Dubbo官方简介:
Apache Dubbo是一款分布式、高性能、透明化的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。提供服务自动注册、自动发现等高效服务治理方案,可以和Spring框架无缝集成。
Dubbo官网地址:http://dubbo.apache.org
个人理解(宏观角度):
Dubbo和Spring Cloud一样都是目前主流的微服务框架!二者都可以解决RPC问题,但是二者有本质的区别,Dubbo是一个分布式服务框架,而SpringCloud是一个分布式的整体解决方案。 Dubbo作为一个RPC框架,其最核心的功能就是要实现跨网络的远程调用。一个作为服务的提供方,一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。
Dubbo和SpringCloud最大的区别:
Dubbo底层是使用Netty这样的NIO框架,是基于TCP协议传输的,配合以Hession序列化完成RPC通信。
而SpringCloud是基于Http协议+Rest接口调用远程过程的通信,相对来说,Http请求会有更大的报文,占的带宽也会更多。但是REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖。
Dubbo的背景故事:
Dubbo做什么?
来自官网:
Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。和Spring Cloud一样都是对微服务的服务注册、负载均衡、RPC远程服务调用、微服务监控与治理做出了一系列的操作与方法。
Dubbo的主要应用场景
- 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
- 软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。(F5负载均衡器我也是百度来的)。
- 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
Dubbo怎么做?
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/quick-start/spring-boot/
上面链接来自于官网案例,案例讲的已经很人性化很听得懂了,所以我觉得这部分学过Spring Cloud的同志看一眼就明白这是什么了!我就不过多解释了,还有SpringBoot整合Dubbo和Zookeeper如何开发请看以下博主的实验部分也讲的比较清楚了
Dubbo与Spring Cloud区别?
该博文借鉴了以下几个博主的文章如有侵权请联系我,马上删除或修改!!!这几个博主的文章写的很清楚,非常感谢!