查权重网站(快手账号权重下载)
8312023-12-02
各位老铁们好,相信很多人对dubbo优缺点都不是特别的了解,因此呢,今天就来为大家分享下关于dubbo优缺点以及为什么使用dubbo的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录
DubboSpringCloud是SpringCloudAlibaba项目内部提供的一个可以使用SpringCloud客户端RestTemplate或OpenFeign调用Dubbo服务的模块。
ApacheDubbo和SpringCloud是两套架构完全不同的开发框架。DubboSpringCloud定义了DubboMetadataService元数据服务的概念。这是一个专门用于存储Dubbo服务的元数据接口。
优点:
1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2.软负载均衡及容错机制:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3.服务自动注册与发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
4.提供完善的管理控制台dubbo-admin与简单的控制中心dubbo-monitor
5.Dubbo提供了伸缩性很好的插件模型,很方便进行扩展(ExtensionLoader)
6.支持多协议
7.Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
在程序开发中,我们经常会调用第三方API,而这类API一般提供多种方式供我们调用,比如:基于HTTP协议的、还有RPC方式调用的,以致于很多人会有这种质疑:既然有了HTTP这种请求方式,为什么还有RPC的存在?
HTTP和RPC是完全不同的概念在这里我们需要搞清楚一点的是,HTTP和RPC在概念上就是不同的,两种是不能相提并论的。
HTTP是超文本传输协议;
RPC是指远程过程调用,它是对不同系统间相互调用方式的一种描述,RPC不是协议也不是一种新技术,严格意义上应该称它是一种解决方案(概念)或技术实现的框架。RPC框架底层一般支持多种协议,比如:HTTP、TCP、自定协议等。所以说RPC也是可以通过HTTP来实现的!
RPC与HTTP调用的应用场景RPC框架提供的是面向服务的封装,它针对服务的性能效率、可用性等都做了优化(比如提供了:注册中心、服务治理、负载均衡、二进制传输、熔断、服务降级等功能),是一套完整的解决方案;而HTTP调用缺少这些高级特性,它只是简单的数据通信,另外HTTPAPI受限于HTTP协议(要带HTTP请求头),传输效率及安全性不如RPC。
为什么使用RPC而不是简单的HTTPAPI?HTTPAPI一般在接口数量不多的情况下采用的,因为它使用起来简单快捷,直接利用现成的HTTP协议就可以进行数据传输。
但对于一个大型项目,内部模块子系统众多,接口也变得很多了,在这种情况下如果再使用一个个零散的HTTPAPI,维护成本极高。所以RPC框架优点就显示出来了,比如说:
支持长链接,减少了网络开销;
拥有注册中心,服务治理起来更方便;
有监控功能,易于定位问题;
对调用方来说是无感知、统一化的。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!dubbo有着以下几大优点:
1、服务注册中心自动注册和配置管理
它不需要写死服务提供者地址,注册中心基于接口名自动查询提供者ip;
使用类似zookeeper等分布式协调服务作为服务注册中心,能够将大多数的项目配置移入zookeeper集群;
2、透明化的远程方法调用
这就好像调用本地方法一样,调用远程方法;只需要很简单的配置,没有任何API侵入;
3、服务接口监控和治理
Dubbo-admin和Dubbo-monitor提供了完善的服务接口管理和监控功能;针对不同应用的不同接口,能够进行多版本、多协议、多注册中心管理;
4、软负载均衡及容错机制
能够在内网替代nginxlvs等硬件负载均衡器;
dubbo的缺点:
dubbo仅仅只支持一种语言,那就是java语言。
关于本次dubbo优缺点和为什么使用dubbo的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。